无法使用 ASP.NET Core 8 Web API 将 JSON 值转换为 System.DateOnly

问题描述 投票:0回答:1

使用 .NET 8,我尝试将各种格式的日期传递到我的 API 端点,但无法克服此错误。我收到带有错误的 400 响应:

JSON 值无法转换为 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请求体

{
    ...
    "createDate":"2024-1-7"
    ...
}
asp.net-core-webapi asp.net-core-8
1个回答
0
投票

DateOnly
TimeOnly
的模型绑定可从 .NET 7 获得,如向模型绑定和路由添加 DateOnly 和 TimeOnly 支持中所述。

问题是您提供的日期字符串与格式不匹配。它应该采用“yyyy-MM-dd”(ISO 8601)格式。

{
    "createDate":"2024-01-07"
}
© www.soinside.com 2019 - 2024. All rights reserved.