【发布时间】:2016-06-12 06:13:53
【问题描述】:
我从事我的 web api 项目。 当我尝试将 get 请求中的日期变量传递给 web api 方法时,出现错误 404。
这里是web api方法:
[HttpGet]
[Route("ReportDetailed/{clientId}/{date}")]
public IHttpActionResult ReportDetailed(int clientId, DateTime date )
{
return Ok();
}
这里是我如何尝试访问上面的函数(来自 URL 的行):
http://localhost/station/api/Reports/ReportDetailed/12/Wed%20Jun%2001%202016%2000:00:00%20GMT+0300%20(Jerusalem%20Daylight%20Time)
其中clientId为12,日期解析为javascript日期对象:
/Wed%20Jun%2001%202016%2000:00:00%20GMT+0300%20(Jerusalem%20Daylight%20Time)
当我从 web api 函数解析的 Date 对象和 date 参数上方的 URL 中删除时,它工作得很好(所以我猜是 date 对象的问题)。
知道为什么我尝试在 URI 中传递对象时收到错误 404 吗?
【问题讨论】:
-
如果您尝试更简化的日期,例如:
/ReportDetailed/12/2016-06-06,会怎样?那样有用吗?如果是这样,则日期模型绑定器无法识别您的日期 - 您可以使用字符串参数并在您的操作中对其进行解析(如果无法解析则抛出异常) -
@freedomn-m 谢谢。您的评论有帮助。
标签: c# asp.net-web-api asp.net-web-api2