我可以使用自定义路线呼叫Api。 (网址:'api / WorkItem / 1 / GetOne')
[HttpGet]
[Route("api/WorkItem/{id}/GetOne")]
public async Task<IEnumerable<WorkItemDto>> GetOne(int id)
{
//...
}
但是如果我删除自定义路线,我就无法调用相同的API:
这是我的路线定义:
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}/{action}",
defaults: new { action = RouteParameter.Optional, id = RouteParameter.Optional }
);
我希望这可以在没有自定义路线的情况下工作,但事实并非如此。 我得到 404-NotFound 。 我做错了什么?
答案 0 :(得分:0)
两次地图路线。首先是行动,第二次没有
config.Routes.MapHttpRoute(
name: "WithAction",
routeTemplate: "api/{controller}/{id}/{action}"
);
config.Routes.MapHttpRoute(
name: "DefaultId",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);