API da Web do ASP.NET 2 e atualizações parciais
Estamos usando a API da Web do ASP.NET 2 e queremos expor a capacidade de editar parcialmente algum objeto da seguinte maneira:
HTTP PATCH /customers/1
{
"firstName": "John",
"lastName": null
}
... pôrfirstName
para"John"
elastName
paranull
.
HTTP PATCH /customers/1
{
"firstName": "John"
}
... para atualizar apenasfirstName
para"John"
e não toquelastName
em absoluto. Suponha que tenhamos muitas propriedades que queremos atualizar com essa semântica.
Esse é um comportamento bastante conveniente, exercido porOData por exemplo.
O problema é que o serializador JSON padrão irá aparecernull
nos dois casos, é impossível distinguir.
Estou procurando uma maneira de anotar o modelo com algum tipo de wrapper (com valor e sinalizador definido / não definido por dentro) que permita ver essa diferença. Alguma solução existente para isso?