我正在尝试使用 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 有效,但第一个 URL 显示“未在与请求匹配的控制器‘控制器名称’上找到任何操作。”
我的控制器如下所示:
public class MyServiceController : ApiController
{
[Route("api/servicename/{parameter1}")]
[HttpGet]
public async Task<ReturnType> Get(string parameter1, DateTime? parameter2, string parameter3 = "", string p4 = "")
{
// process
}
}