如何在查询字符串中为日期时间传递null?

Lim*_*Lim 0 c# asp.net-web-api postman

我正在尝试执行发送 DateTime 的 API?参数作为查询字符串。下面是我的 API:

[HttpGet("filter")]
public async Task<ActionResult<PagedList<Inv>>> GetFilterAsync([FromQuery] DateTime? dateFrom, [FromQuery] DateTime? dateTo, [FromQuery] int page, [FromQuery] int pageSize)
    {
Run Code Online (Sandbox Code Playgroud)

但是当我尝试在邮递员中执行它时,如下所示,出现错误。

http://localhost:5000/api/Inv/filter?dateFrom=null&dateTo=null&page=1&pageSize=20
Run Code Online (Sandbox Code Playgroud)

这是错误:

{
    "errors": {
    "dateTo": [
        "The value 'null' is not valid."
    ],
    "dateFrom": [
        "The value 'null' is not valid."
    ]
    },
    "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
    "title": "One or more validation errors occurred.",
    "status": 400,
    "traceId": "|8c4093d7-485e79a6a805ceae."  
}
Run Code Online (Sandbox Code Playgroud)

但是,当我将其保留为如下空白时,它会起作用。我们不能通过null而不是blank space吗?

http://localhost:5000/api/Inv/filter?dateFrom=&dateTo=&page=1&pageSize=20
Run Code Online (Sandbox Code Playgroud)

此外,当我们尝试从 UI 发送它们时也会出现同样的错误。

Pao*_*sco 5

只是不要在查询字符串中传递参数。

而不是
http://localhost:5000/api/Inv/filter?dateFrom=null&dateTo=null&page=1&pageSize=20
尝试
http://localhost:5000/api/Inv/filter?page=1&pageSize=20