【问题标题】:Nullable DateTimeOffset fromuri parameter in webapi 2 not workingwebapi 2中的可空DateTimeOffset fromuri参数不起作用
【发布时间】:2018-06-25 00:47:02
【问题描述】:

给定这样的动作:

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

以及用于访问操作的带有 uri 的客户端代码:

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

引发了一个异常,它不能在 lastTIme 转换为 Nullable'1。

webapi 2 需要什么而不是客户端站点上的 ToString() 才能从查询字符串中获取日期时间

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

【问题讨论】:

标签: c# asp.net-web-api


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-16
    • 2016-03-30
    相关资源
    最近更新 更多