Я использую. Net Core 3.1 в качестве моей платформы.
У меня есть эта настройка при запуске:
using NodaTime;
using NodaTime.Serialization.SystemTextJson;
services.AddControllers()
.AddJsonOptions(options =>
{
var settings = options.JsonSerializerOptions;
settings.AllowTrailingCommas = false;
settings.ConfigureForNodaTime(DateTimeZoneProviders.Tzdb);
settings.WithIsoDateIntervalConverter();
settings.WithIsoIntervalConverter();
});
И это моя модель API:
public class CreateDto
{
public int Status { get; set; }
public Guid ApprovedBy { get; set; }
public LocalDateTime DateFrom { get; set; }
public LocalDateTime DateTo { get; set; }
}
Это мой контроллер:
[HttpPost]
public async Task<IActionResult> Create([FromBody] CreateDto createEntity)
{
var createdEntity = await _service.Create(createEntity);
return Ok(createdEntity);
}
Каждый раз, когда я использую Почтальон с этим JSON Тело:
{
"Status": 1,
"ApprovedBy": "970a50c5-ae21-4f41-bea9-691f8c60224c",
"DateFrom": "2020-04-01T00:00:00.000Z",
"DateTo": "2020-04-05T23:59:59.000Z"
}
Я всегда получаю эту ошибку:
{
"errors": {
"DateTo": [
"Cannot convert value to NodaTime.LocalDateTime"
],
"DateFrom": [
"Cannot convert value to NodaTime.LocalDateTime"
]
},
"type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
"title": "One or more validation errors occurred.",
"status": 400,
"traceId": "|4a836dd3-4ce779bc5503ac63."
}
Вопрос: я что-то упустил в моей загрузочной конфигурации? Если нет, что я могу сделать, чтобы исправить эту ошибку?