给出这样的行动:
public async Task<IHttpActionResult> GetStatus(string dataflowId, [FromUri] DateTimeOffset? lastTime = null)
和uri用于访问Action的客户端代码:
DateTimeOffset? last = somedatetime;
/* DO REQUEST TO */ new Uri( flow.StatusUri + (last.HasValue? "?lastTime="+last.Value.ToString():""));
一个例外是因为它无法转换为Nullable'1作为lastTIme。
在客户端站点上需要什么而不是ToString()才能从webapi 2获取来自查询字符串的日期时间
{"message":"The request is invalid.","modelState":{"lastTime":["The value '1/1/1601 12:00:00 AM 00:00' is not valid for Nullable`1."]}}
答案 0 :(得分:1)
使用Uri.EscapeDataString解决了这个问题。
new Uri(flow.StatusUri + (last.HasValue? "?lastTime="+Uri.EscapeDataString(last.Value.ToString()):""))