1
所需的URI ...網絡API路線返回404
http://localhost:5613/api/user/1/HasCompletedInitialScreen
我已經配置了以下路線...
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.Routes.MapHttpRoute(
name: "ApiUserHasCompletedInitialScreen",
routeTemplate: "api/user/{id}/{hascompletedinitialscreen}");
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
和控制器動作......
[HttpGet]
[ActionName("HasCompletedInitialScreen")]
public HttpResponseMessage HasCompletedInitialScreen(int id)
{
var response = Request.CreateResponse<bool>(HttpStatusCode.Created, true);
response.Headers.Location = GetLocation(id);
return response;
}
不過,我得到一個404如何解決我的路由配置和/或控制器動作,使這項工作?
非常感謝!
UPDATE
基於公認的答案,我修改了API路線定義爲以下。希望這可以幫助別人......
config.Routes.MapHttpRoute(
name: "QueryApi",
routeTemplate: "api/{controller}/{id}/{action}");