1

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

没有任何效果..我什至用 编码 startDate HttpUtility.UrlEncode,但不起作用!

知道什么是正确的格式吗?

4

2 回答 2

2

像这样的东西

~/api/values?startDate=2008%2F08%2F08
于 2013-09-18T17:53:47.507 回答
0

回答

要将 a 发送DateTimeOffset到您的 API,请将其格式化如下:

2017-04-17T05:45:18.070Z

完整的 API URL 如下所示:

http://localhost:1234/api/values/startDate=2017-04-17T05:45:18.070Z

通过以这种方式对其进行格式化,我可以将一个DateTimeOffset参数传递给我ApiController使用 Azure 移动服务创建的参数。

代码

您可以使用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);
于 2017-04-19T00:21:08.923 回答