Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Dúvida sobre método patch em projeto spring

Em um projeto que tenho feito precisava de uma atualização parcial, para isso criei um método usando patch seguindo o modelo usado no put. Só que ao passar apenas uma informação no json pelo postman, o resto ficava null. Fiz o que foi pedido no postman, tanto é que os outros métodos testados lá tem funcionado bem. Para resolver o problema eu passei por parâmetro uma nova informação, fora as outras que já estavam lá. Essa é uma String que uso na url para complementar o patch. Então a url ao invés de ficar assim:

localhost:8080/topicos/1

Fica assim:

localhost:8080/topicos/1?topicoOuMensagem=topico

Esse é um exemplo que inventei apenas para mostrar como ficou. Dessa forma atualizo apenas o tópico sem editar a mensagem. É errado fazer dessa maneira para evitar que surjam valores null no json? Se é errado qual o melhor caminho para resolver esse problema, de atualizar apenas uma informação com o patch sem editar o resto para null?

1 resposta
solução!

Oi Ruhan,

Acho que não precisa enviar os valores null no json e nem esse parâmetro na url. Bastaria alterar a lógica no código de atualizar para que os valores enviados sejam opcionais, e verificar quais valores foram enviados para atualizar no Topico apenas os dados enviados.

E a requisição seria algo assim:

PATCH localhost:8080/topicos/1

{
    "titulo": "correcao no titulo do topico"
}

Nesse exemplo eu estaria querendo atualizar apenas o titulo de um tópico.