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."]}}
使用Uri.EscapeDataString解决了这个问题。
new Uri(flow.StatusUri + (last.HasValue? "?lastTime="+Uri.EscapeDataString(last.Value.ToString()):""))