C# 使用WebApi将DateTimeOffset作为GET请求中路径的一部分传递
此C# 使用WebApi将DateTimeOffset作为GET请求中路径的一部分传递,c#,asp.net,.net,asp.net-mvc,asp.net-web-api,C#,Asp.net,.net,Asp.net Mvc,Asp.net Web Api,此Get方法的URL是什么 public class ValuesController : ApiController { public string Get(DateTimeOffset startDate) { return "value"; } } 路由模板是 routeTemplate: "api/{controller}/{startDate}" 我试着点击网址,比如 api/values/12Sept2013 api/values/2011
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
对startDate进行了编码,但不起作用
知道正确的格式是什么吗?类似这样的内容
~/api/values?startDate=2008%2F08%2F08
答复
要将DateTimeOffset
发送到API,请将其格式化如下:
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 datetimeoffsetasapparameter=DateTimeOffset.Now.UtcDateTime.ToString(“yyy-MM-ddTHH:MM:ss.fffZ”);
字符串格式(“http://localhost:1234/api/values/?startDate={0},DateTimeOffsetAsApapParameter);
nope!!。。。它给出了“HTTP错误404.0-找不到”错误…好吧,将startDate参数移动到querystring是可行的。。。api/values?起始日期=2013%2F08%2F08有效期!。。谢谢我可以接受。