Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Problemas no método para cadastrar novas respostas em um tópico

Tentei implementar sem ver a resolução antes e acho que caminhei bem. Porém, precisei acompanhar a resolução indicada para finalizar o desafio de implementar uma funcionalidade para cadastrar respostas em um determinado tópico.

Segui as instruções do instrutor, mas estou tendo um problema no método cadastrar na classe RespostaService. A função está da seguinte forma:

fun cadastrarResposta(idTopico: Long, form: RespostaForm) {
        val resposta = respostaFormMapper.converte(form)
        resposta.id = respostas.size.toLong() + 1
        resposta.topico = topicoService.buscarPorId(idTopico)
        respostas = respostas.plus(resposta)
}

A linha resposta.topico = topicoService.buscarPorId(idTopico) está com problemas no parâmetro recebido, que deveria ser um Topico ao invés de TopicoView. Qual seria a solução?

3 respostas

Oi Matheus,

Você vai precisar guardar o retorno do método buscarPorId e converter de TopicoView para Topico, antes de atribuir dentro do resposta.topico.

@Rodrigo, era o que estava tentando fazer, mas não fazia muito ideia de como ou se a solução que adotei desobedece alguma "regra" a nível de padrão de projeto. De todo modo, se puder me dar um feedback sobre a implementação que adotei, ficarei agradecido.

solução!

Vi aqui como você fez e está show! Utilizou a service de tópico para carregar pelo id e setou na resposta.

Geralmente essa é a forma padrão de fazer e não está indo contra as boas práticas.

Bons estudos!