在ASP.NET Web API中使用可选参数的属性路由
- 论坛
- 在ASP.NET Web API中使用可选参数的属性路由
8 浏览
在ASP.NET Web API中使用可选参数的属性路由
我试图使用Web API 2属性路由来设置一个自定义的API。我已经使我的路由工作,这样我的函数就会被调用,但出于某种原因,我需要传入我的第一个参数才能使一切正常工作。我想支持以下URL:
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可以正常工作,但第一个URL显示"找不到与请求匹配的控制器'控制器名称'上的操作"。
我的控制器如下所示:
public class MyServiceController : ApiController { [Route("api/servicename/{parameter1}")] [HttpGet] public async TaskGet(string parameter1, DateTime? parameter2, string parameter3 = "", string p4 = "") { // process } }