使用 WebAPI 将 DateTimeOffset 作为 GET 请求中的路径的一部分传递
本文关键字:路径 一部分 请求 WebAPI DateTimeOffset 作为 GET 使用 | 更新日期: 2023-09-27 18:32:03
这个Get
方法的URL是什么?
public class ValuesController : ApiController
{
public string Get(DateTimeOffset startDate)
{
return "value";
}
}
路由模板为
routeTemplate: "api/{controller}/{startDate}"
我试图点击这样的网址
api/values/12Sept2013
api/values/2011-06-01T14:03:00+00:00Z
api/values/2011-12-13
什么都没用..我什至用 HttpUtility.UrlEncode
编码了开始日期,但不起作用!
知道正确的格式是什么吗?
像这样
~/api/values?startDate=2008%2F08%2F08
答案
要向 API 发送DateTimeOffset
,请按如下方式设置其格式:
2017-04-17T05:45:18.070Z
完整的 API URL 如下所示:
http://localhost:1234/api/values/startDate=2017-04-17T05:45:18.070Z
通过以这种方式设置其格式,我能够将DateTimeOffset
参数传递给我使用 Azure 移动服务创建的ApiController
。
法典
您可以使用ToString(yyy-MM-ddTHH:mm:ss.fffZ)
来分析 DateTimeOffset。
var dateTimeOffsetAsAPIParameter = DateTimeOffset.Now.UtcDateTime.ToString("yyy-MM-ddTHH:mm:ss.fffZ");
string.Format("http://localhost:1234/api/values/?startDate={0}", dateTimeOffsetAsAPIParameter);