gpt4 book ai didi

c# - 可选的日期时间 Web API

转载 作者:太空狗 更新时间:2023-10-29 18:07:22 25 4
gpt4 key购买 nike

我有这样一个类:

public class FooController : ApiController
{
[System.Web.Http.Route("live/topperformers")]
[System.Web.Http.AcceptVerbs("GET", "POST")]
[System.Web.Http.HttpGet]
public List<string> GetTopPerformers()
{
return new List<string>();
}
}

当我通过“http://foo.com/live/topperformers”访问它时,它运行良好。所以现在我想向此方法添加一个可选的 DateTime 参数,因此我修改了该方法以采用 DAteTime 参数,并使其可为空。

public class FooController : ApiController
{
[System.Web.Http.Route("live/topperformers/{dateTime:DateTime}")]
[System.Web.Http.AcceptVerbs("GET", "POST")]
[System.Web.Http.HttpGet]
public List<string> GetTopPerformers(DateTime? dateTime)
{
return new List<string>();
}
}

当我尝试访问不带参数的 URL 时,与我之前访问的一样 - 它给出了 404。传入日期值,如“like”http://foo.com/live/topperformers/2010-01-01 "工作正常。但没有日期,它给出 404。

我认为 Web API 以这种方式支持可选参数?我可以简单地重载并拥有两个版本,但这是否可以只使用一种方法?

最佳答案

设置可选参数 = null。试试这个:

public class FooController : ApiController
{
[System.Web.Http.Route("live/topperformers/{dateTime:DateTime?}")]
[System.Web.Http.AcceptVerbs("GET", "POST")]
[System.Web.Http.HttpGet]
public List<string> GetTopPerformers(DateTime? dateTime = null)
{
return new List<string>();
}
}

关于c# - 可选的日期时间 Web API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21393914/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com