我在web api配置文件中有2条路由
config.Routes.MapHttpRoute("DefaultApiCtrl",
"api/{controller}/{action}");
config.Routes.MapHttpRoute("DefaultApi",
"api/{controller}/{id}",
new { id = RouteParameter.Optional });
当我想这样调用web apis [GET]时:
/api/contacts/33
发生错误:No HTTP resource was found that matches the request URI
我如何合并这两条路线并摆脱错误?
解决方案:
Web API 2支持一种称为属性路由的新型路由。顾名思义,属性路由使用属性来定义路由。通过属性路由,您可以更好地控制Web API中的URI。例如,您可以轻松创建描述资源层次结构的URI。
完成教程答案 0 :(得分:1)
此Web API似乎运行良好。不要认为你需要它吗?
public static class WebAPIConfig
{
public static void Register(HttpConfiguration config)
{
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = System.Web.Http.RouteParameter.Optional }
);
}
}