[英]Attribute routing with optional parameters in ASP.NET Web API
我正在尝试使用Web API 2属性路由来设置自定义API。 我的路由工作,我的函数被调用,但由于某种原因,我需要传入我的第一个参数,以便一切正常工作。 以下是我要支持的网址:
http://mysite/api/servicename/parameter1
http://mysite/api/servicename/parameter1?parameter2=value2
http://mysite/api/servicename/parameter1?parameter2=value2¶meter3=value3
http://mysite/api/servicename/parameter1?parameter2=value2¶meter3=value3&p4=v4
最后3个URL可以工作,但第一个说“在控制器名称上没有找到与请求相匹配的操作”。
我的控制器看起来像这样:
public class MyServiceController : ApiController
{
[Route("api/servicename/{parameter1}")]
[HttpGet]
public async Task<ReturnType> Get(string parameter1, DateTime? parameter2, string parameter3 = "", string p4 = "")
{
// process
}
}
Web API需要显式设置可选值,即使对于可以为空的类型...因此您可以尝试设置以下内容,您应该看到第一个请求成功
DateTime? parameter2 = null
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.