我有以下ASP.NET WebApi控制器:
public class FooController : ApiController
{
public string Get(DateTime id)
{
...
}
}
请求如何格式化?我得到了400s(不良请求)。有人可以给我一个带有日期时间的ApiController
Get()
的网址示例吗?
这将有效:
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
我发送的日期时间需要表示为UTC。
答案 0 :(得分:1)
:
在URL(端口号)中具有特殊含义。你需要逃脱它:
http://localhost:2619/api/Foo/2014-09-14T18%3A52%3A00.000Z
答案 1 :(得分:0)
2014-09-14T18%3A52%3A00.000Z , 2014-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();
}