无需自定义路线即可呼叫Api
本文关键字:呼叫 Api 自定义路 | 更新日期: 2023-09-27 18:24:49
我可以用自定义路由调用Api。(url:"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。我做错了什么?
绘制两次路线图。第一次有动作,第二次没有
config.Routes.MapHttpRoute(
name: "WithAction",
routeTemplate: "api/{controller}/{id}/{action}"
);
config.Routes.MapHttpRoute(
name: "DefaultId",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);