【问题标题】:How to Pass datetime params to HttpGet in web api 2.0?如何在 web api 2.0 中将日期时间参数传递给 HttpGet?
【发布时间】:2018-04-07 01:46:26
【问题描述】:

我有一个 Get API ,我根据两个日期时间参数(开始日期和结束日期)获得结果,但是在传递日期时间时我收到错误消息“潜在危险......等)。我必须通过强制性日期时间是 URL 的必填项。您对此有什么解决方案吗?

问候, 拉杰内什。

【问题讨论】:

  • 你以什么格式传递日期?我们没有代码,也没有示例数据,甚至没有完整的错误消息输出,所以我们只能猜测您的问题是什么。我的建议是确保您使用不含特殊字符的明确格式,例如 ISO8601
  • c# 日期时间和格式是 2016-01-01T10:12:05.254Z 作为我从 UI 团队获得的输入,因为他们正在调用 web api 来获取这两个月之间的报告数据。代码:[Route("{userId}/weathercondition/{fromDate}/{toDate}/{speciesId:int}", Name = "GetReports")] public HttpResponseMessage GetTopWeatherCondition([FromUri]string userId, [FromUri] string fromDate, [FromUri]string toDate) 错误:从客户端检测到潜在危险的 Request.Path 值
  • 请使用“编辑”按钮为您的问题添加信息。 cmets 中的代码很难阅读。请给我们一个生成的完整 URL 的示例。

标签: c# asp.net-mvc asp.net-web-api2


【解决方案1】:

WEB API 将冒号 (:) 视为危险。尝试以 yyyy-mm-ddThh-mm-ss 格式传递日期。如果您同时拥有客户端和服务器端,那么我建议您为此使用 unix 时间戳。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-07
    • 1970-01-01
    • 2014-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多