使用 .Net 8,我尝试将各种格式的日期传递到我的 Api 端点,但无法克服此错误。我收到 400 响应,错误如下:
The JSON value could not be converted to System.DateOnly
[HttpPost]
public async Task<ActionResult<Item>> CreateItem(CreateItemRequest request)
{
var Item = await _ItemService.CreateItemAsync(request);
return Ok(Item);
}
public class CreateItemRequest
{
...
public DateOnly CreateDate { get; set; }
...
}
Json Request Body
{
...
"createDate":"2024-1-7"
...
}
与
DateOnly
和 TimeOnly
的模型绑定可从 .NET 7 获得,如向模型绑定和路由添加 DateOnly 和 TimeOnly 支持中所述。
问题是您提供的日期字符串与格式不匹配。它应该采用“yyyy-MM-dd”(ISO 8601)格式。
{
"createDate":"2024-01-07"
}