Охватывает любые типы: значения, ссылки, сложные пользовательские типы, что угодно

пользуем ASP.NET Web API 2 и хотим предоставить возможность частично редактировать некоторые объекты следующим образом:

HTTP PATCH /customers/1
{
  "firstName": "John",
  "lastName": null
}

... установитьfirstName в"John" а такжеlastName вnull.

HTTP PATCH /customers/1
{
  "firstName": "John"
}

... для того, чтобы просто обновитьfirstName в"John" и не трогайlastName совсем. Предположим, у нас есть много свойств, которые мы хотим обновить с помощью такой семантики.

Это довольно удобное поведение, которое осуществляетсяOData например.

Проблема в том, что по умолчанию JSON сериализатор просто придумаетnull в обоих случаях, поэтому невозможно различить.

Я ищу способ аннотировать модель какими-то обертками (со значением и флагом, установленным / не установленным внутри), которые позволили бы увидеть эту разницу. Существуют ли какие-либо решения для этого?

Ответы на вопрос(0)

Ваш ответ на вопрос