【发布时间】:2017-09-21 19:27:57
【问题描述】:
我的控制器中有RoutePrefix,例如:
[RoutePrefix("api/Catalogos")]
我有这样的方法:
[System.Web.Http.AllowAnonymous]
[System.Web.Http.HttpGet]
public HttpResponseMessage Get(HttpRequestMessage request)
{
//some code there
}
所以当我使用邮递员并发送路由时:
http://localhost:55720/api/Catalogos/
它运行没有问题。当我尝试执行另一种方法时,问题就开始了:
[System.Web.Http.AllowAnonymous]
[System.Web.Http.HttpGet]
[Route("GetCatalogo")]
public HttpResponseMessage GetCatalogoPadre(HttpRequestMessage request, string catalogo)
{
//some code there
}
所以我在邮递员网址中尝试:
http://localhost:55720/api/Catalogos/GetCatalogo/
但我明白了:
{ "Message": "没有找到与请求匹配的 HTTP 资源 URI 'http://localhost:55720/api/Catalogos/GetCatalogo/'。",
"MessageDetail": "在控制器 'Catalogos' 上未找到任何操作 与名称“GetCatalogo”相匹配。”}
为什么我不能路由它?我不明白那里有什么问题。
【问题讨论】:
标签: c# asp.net-mvc asp.net-web-api asp.net-web-api-routing