Pelo que entendi do código desenvolvido no curso, ele não permite atualizar um atributo já preenchido para null.
Assim, minha dúvida é se existe alguma abordagem que possibilite isso caso o atributo seja informado explicitamente no JSON enviado pela requisição com o valor null, mas ignore a atualização desse atributo se ele não não for informado nesse mesmo JSON?
Por exemplo, supondo que o nome e o telefone não sejam mais obrigatórios e que o valor anterior de um objeto da entidade Medico fosse:
{
"id": 1,
"nome": "João Carlos",
"telefone": "(99) 99999-9999",
(...)
}
Se eu executasse:
PUT http://localhost:8080/medicos
{
"id": 1,
"telefone": null
}
O esperado seria a entidade Medico possuir os seguintes valores:
{
"id": 1,
"nome": "João Carlos",
"telefone": null,
(...)
}
Ou seja, a atualização do atributo nome foi ignorada porque não foi declarada no JSON, já o atributo telefone foi atualizado para null porque ele foi declarado explicitamente no JSON.
Existe alguma boa prática para esse tipo de implementação? Como ficaria?