Estou tentando fazer a rota para o put e no fim somente o primeiro elemento atualiza, json que estou enviando:
{
"titulo": "Novo titulo",
"mensagem":"atualizado"
}
resposta que obtenho, tanto a usar o get quando como resposta do put
{
"id": 3,
"titulo": "Novo titulo",
"mensagem": "Novo titulo",
"dataCriacao": "2019-05-05T20:00:00"
}
função de atualizar no dto de atualização:
public Topico atualizar(Long id, TopicoRepository topicoRepository) {
Topico topico = topicoRepository.getById(id);
topico.setTitulo(this.titulo);
topico.setMensagem(this.mensagem);
System.out.println(this.mensagem);
return topico;
}
coloquei o print ali só pra ver se estava chegando a mensagem correta, função no controller:
@PutMapping("/{id}")
@Transactional
public ResponseEntity<TopicoDTO> atualizar(@PathVariable Long id, @RequestBody @Valid AtualizacaoTopicoForm form) {
Topico topico = form.atualizar(id, topicoRepository);
return ResponseEntity.ok(new TopicoDTO(topico));
}
import que esta na controller import org.springframework.transaction.annotation.Transactional;
Resolvido