正在向ASP.NET Web API请求具有UTC DateTime的GET
本文关键字:UTC DateTime GET 请求 API ASP NET Web | 更新日期: 2023-09-27 18:21:46
我有以下ASP.NET WebApi控制器:
public class FooController : ApiController
{
public string Get(DateTime id)
{
...
}
}
请求需要如何格式化?我得到了400秒(错误请求)。有人能给我举一个ApiController
的Get()
的URL的例子吗?
这将起作用:
http://localhost:2619/api/Foo/2014-09-14
但这不会:
http://localhost:2619/api/Foo/2014-09-14T18:52:00.000Z
也不会编码它:
http://localhost:2619/api/Foo/2014-09-14T18%3A52%3A00.000Z
我发送的DateTime需要用UTC表示。
:
在URL(端口号)中具有特殊含义。你需要逃离它:
http://localhost:2619/api/Foo/2014-09-14T18%3A52%3A00.000Z
2014-09-14T18%3A52%3A00.000Z,2013-09-14T18:52:00.000Z 允许在web.config中使用无效字符(https://stackoverflow.com/a/6026291/286330) 和测试动作<system.web>
<httpRuntime requestPathInvalidCharacters="" requestValidationMode="2.0" />
<pages validateRequest="false" />
</system.web>
public String testdt(DateTime? id)
{
return id == null ? "Empty" : id.ToString();
}