No exemplo do curso Kotlin Spring Boot. Não consegui adicionar um elemento na lista List Utilizando o método plus
No exemplo do curso Kotlin Spring Boot. Não consegui adicionar um elemento na lista List Utilizando o método plus
Oi!
Pode mandar como ficou seu código?
package com.bank.acesso.model
data class Usuario (
val id: Long,
val name: String,
val email: String
)
package com.bank.acesso.controller
import com.bank.acesso.model.Usuario
import com.bank.acesso.service.UsuarioService
import org.springframework.web.bind.annotation.GetMapping
import org.springframework.web.bind.annotation.PostMapping
import org.springframework.web.bind.annotation.RequestBody
import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RestController
@RestController
@RequestMapping("usuario")
class UsuarioController (private val service : UsuarioService) {
@GetMapping
fun listarUsuario() : List<Usuario> {
return service.listar()
}
@PostMapping
fun cadastrar (@RequestBody usuario :Usuario) {
service.cadastrar(usuario)
}
}
---------------------------------------------------
package com.bank.acesso.service
import com.bank.acesso.model.Usuario
import org.springframework.stereotype.Service
import kotlin.collections.List
@Service
class UsuarioService (private var usuarios: List<Usuario> = ArrayList()){
fun listar(): List<Usuario> {
return usuarios
}
fun cadastrar ( usuario : Usuario ) {
usuarios.plus(usuario)
}
}
O código está certinho. Qual o problema que ocorreu?
Então, coloquei uns println antes e depois do metodo cadastrar e não aparece nada só '[]' Quando insiro e mando listar também só aparece '[]' Uso o Postman e mesmo no browers é a mesma coisa.
Coloca um System.out no objeto que chega no controller:
@PostMapping
fun cadastrar (@RequestBody usuario :Usuario) {
System.out.println("Dados recebidos no Controller: " +usuario)
service.cadastrar(usuario)
}