Как настроить JsonProperty Required. Всегда для работы с типами значений, не допускающими значения NULL - PullRequest
0 голосов
/ 03 августа 2020

Я столкнулся с проблемой с Newtonsoft. Json - v10.0.0 (. Net Framework V4.6.2)

Пример кода

public class AnyClass
{
        [JsonProperty(Required = Required.Always)]
        public DateTime Timestamp { get; set; }

        [JsonProperty(Required = Required.Always)]
        public int AnyInt { get; set; }

        [JsonProperty(Required = Required.Always)]
        public DateTime? NullableTimestamp { get; set; }
}
[HttpPut]
[Route("")]
public async Task<IHttpActionResult> Handle(AnyClass anyInstance)
{
     if (!ModelState.IsValid)
     {
            return BadRequest(ModelState);
     }
}

Ожидаемое поведение

Исключение будет выдано для свойства AnyClass, которого нет в JSON, включая те, которые не могут быть нулевыми.

Фактическое поведение

Исключение возникает только для NullableTimestamp, поскольку оно может быть нулевым

Вопрос Что я сделал не так, или это просто ошибка?

...