我不想使用ASP.NET MVC WebApi,但我确实想使用URL / api / controller / action,以便它由我自己的控制器处理
我这样做:
routes.MapRoute(
name: "APIRoute",
url: "api/{controller}/{action}/",
namespaces: new[] { "MyProject.Controllers.APIControllers" }
但似乎无法在MapRoute(...)
中使用api/
如果我导航到http://localhost/api/Blah/List
则无效
如果我改变路线:
routes.MapRoute(
name: "APIRoute",
url: "apix/{controller}/{action}/",
namespaces: new[] { "MyProject.Controllers.APIControllers" }
(Notice the 'x' in 'apix/')
然后我导航到http://localhost/apix/Blah/List
它按预期工作
我该怎么办?是否可以覆盖api/
?
答案 0 :(得分:1)
听起来您可能已经创建了一个包含Web API的新项目,这就是您遇到困难的原因。
在您的项目中搜索WebApiConfig
或DefaultApi
- 如果您有任何结果,那么Web API已添加到您的项目中,并且您想要修改默认的routeTemplate
默认为api/{controller}/{id}
。