我在网上API控制器添加的方法我上面读到的: public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute(“{resource} .axd/{* pathInfo}”);调用自定义方法
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { id = UrlParameter.Optional }
);
routes.MapHttpRoute("DefaultApiWithId", "Api/{controller}/{id}", new { id = RouteParameter.Optional }, new { id = @"\d+" });
routes.MapHttpRoute("DefaultApiWithAction", "Api/{controller}/{action}");
routes.MapHttpRoute("DefaultApiWithActionAndId", "Api/{controller}/{action}/{id}", new { id = RouteParameter.Optional }, new { id = @"\d+" });
routes.MapHttpRoute("DefaultApiGet", "Api/{controller}", new { action = "Get" }, new { httpMethod = new HttpMethodConstraint("Get") });
routes.MapHttpRoute("DefaultApiPost", "Api/{controller}", new { action = "Post" }, new { httpMethod = new HttpMethodConstraint("Post") });
}
但在调用方法时,我仍然得到404:
请求GET/API /人/ GetpeopleInFamily/101 HTTP/1.1
{ “消息”: “未找到与请求URI相匹配的HTTP资源 'http://localhost:17438/api/people/GetpeopleInFamily/101 '。”,“MessageDetail”:“在控制器'人' 未找到匹配请求的操作。”}
我需要做些什么才能使其发挥作用?还有,这是添加返回更复杂数据集的自定义方法的最佳实践吗?