webapi 2中可为null的DateTimeOffset-fromuri参数不起作用

本文关键字:DateTimeOffset-fromuri 参数 不起作用 null webapi | 更新日期: 2023-09-27 18:29:44

给定这样的操作:

public async Task<IHttpActionResult> GetStatus(string dataflowId, [FromUri] DateTimeOffset? lastTime = null)

和带有访问Action的uri的客户端代码:

DateTimeOffset? last = somedatetime;
/* DO REQUEST TO */ new Uri( flow.StatusUri + (last.HasValue? "?lastTime="+last.Value.ToString():""));

一个例外是,它不能为最后一个TIme转换为Nullable'1。

webapi 2需要什么而不是客户端上的ToString()才能从querystring 获取日期时间

{"message":"The request is invalid.","modelState":{"lastTime":["The value '1/1/1601 12:00:00 AM  00:00' is not valid for Nullable`1."]}}

webapi 2中可为null的DateTimeOffset-fromuri参数不起作用

使用Uri.EscapeDataString解决了这个问题。

new Uri(flow.StatusUri + (last.HasValue? "?lastTime="+Uri.EscapeDataString(last.Value.ToString()):""))