No exemplo do curso Kotlin Spring Boot. Não consegui adicionar um elemento na lista List Utilizando o método plus
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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)
}