Bom dia a todos
Eu fui separar o service do controller e deu esse erro:
APPLICATION FAILED TO START
Description:
Parameter 0 of constructor in br.com.alura.forum.controller.TopicoController required a bean of type 'br.com.alura.forum.service.TopicosService' that could not be found.
Action:
Consider defining a bean of type 'br.com.alura.forum.service.TopicosService' in your configuration.
Eu até vi outras soluções no fórum da Alura, mas era em java e a anotação que ele falava não existia no Kotlin.
Teve outra que funcionou ao colocar o service no mesmo package, mas acredito que isso não seja o ideal. packages que funcionaram:
package br.com.alura.forum.controller.service
e
package br.com.alura.forum.controller
O que eu posso fazer para que possa colocar o arquivo do service e controller em package diferente e ainda sim funcionar
Código do Controller:
package br.com.alura.forum.controller
import br.com.alura.forum.modelo.Topico
import br.com.alura.forum.service.TopicosService
import org.springframework.web.bind.annotation.GetMapping
import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RestController
import java.util.*
@RestController
@RequestMapping("/topicos")
class TopicoController (private val service: TopicosService){
@GetMapping
fun listar():List<Topico>{
return service.listar()
}
}
Código do Service:
package br.com.alura.forum.service
import br.com.alura.forum.modelo.Curso
import br.com.alura.forum.modelo.Topico
import br.com.alura.forum.modelo.Usuario
import org.springframework.stereotype.Service
@Service
class TopicosService {
fun listar(): List<Topico> {
//topico oculto para não ocupar muito espaço
return listOf(topico)
}
}