首页 > 解决方案 > NET Core - FromQuery Datetimeoffset 不允许 +/- 符号

问题描述

我们有一个可能接受 datetimeoffset 的控制器(.NET Core 3.1 Web API):

public async Task<GetMessagesResponse> Get([FromQuery] DateTimeOffset? fromDateTimeUtc)

添加查询参数 fromDateTimeUtc 时

...?fromDateTimeUtc=2020-05-11T10:00:00+0000

回应是:

{
    "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
    "title": "One or more validation errors occurred.",
    "status": 400,
    "traceId": "00-7b2339f4bfec9f419c728b49aed2b989-61a44f523e36fa4b-00",
    "errors": {
        "fromDateTimeUtc": [
            "The value '2020-05-11T10:00:00 0000' is not valid."
        ]
    }
}

而如果我将查询参数更改为:

...?fromDateTimeUtc=2020-05-11T10:00:00%2B0000

然后它工作正常。有没有办法接受查询中的 +/- 符号?

标签: .net.net-coretimezone-offsetsystem.text.json

解决方案


推荐阅读