我有网页API 2控制器操作:的Web API不同的命名行为导致多个操作错误
[HttpGet]
public Response<IEnumerable<Product>> Get()
{
....(Get all products)
}
[HttpGet]
public Response<Product> Get(int id)
{
....(Get product by id)
}
[HttpGet]
public Response<IEnumerable<Product>> Category(int id)
{
.... (Get products by category)
}
我想利用这个控制器,网址:
http://localhost/api/product
http://localhost/api/product/1
http://localhost/api/product/category/1
但这个网址http://localhost/api/product/1
返回错误,
找到多个匹配请求的动作
我的配置设置是这样的:
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
config.Routes.MapHttpRoute(
name: "DefaultApiWithAction",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);