IS" API /"在ASP.NET MVC路线保留? [英] Is "api/" reserved in ASP.NET MVC routes?
问题描述
我不希望使用ASP.NET MVC的WebAPI,但我不希望使用URL / API /控制器/动作,以便它是由我自己的控制器处理
I don't want to use ASP.NET MVC WebApi, but I do want to use the URL /api/controller/action so that it is handled by my own controller
我这样做:
routes.MapRoute(
name: "APIRoute",
url: "api/{controller}/{action}/",
namespaces: new[] { "MyProject.Controllers.APIControllers" }
但似乎是不可能使用 API /
在图路线(...)
如果我浏览到的http://本地主机/ API /布拉赫/列表
这是行不通的。
If I navigate to http://localhost/api/Blah/List
it doesn't work
如果我改变路线是:
routes.MapRoute(
name: "APIRoute",
url: "apix/{controller}/{action}/",
namespaces: new[] { "MyProject.Controllers.APIControllers" }
(Notice the 'x' in 'apix/')
然后我浏览到的http://本地主机/ APIX /布拉赫/列表
它按预期工作
我能做些什么?是否有可能重写 API /
?
What can I do? is it possible to override api/
?
推荐答案
听起来像是你可能已经创建了一个新的项目,其中包括网页API这就是为什么你有一个困难时期。
Sounds like you may have created a new project which includes Web API which is why you're having a hard time.
搜索您的项目 WebApiConfig
或 DefaultApi
- 如果您有任何结果的话,网页API已添加到您的项目,你会想修改默认的 routeTemplate
默认情况下是 API / {控制器} / {ID}
Search your project for WebApiConfig
or DefaultApi
- if you have any results then Web API has been added to your project and you'll want to amend the default routeTemplate
which is by default api/{controller}/{id}
.
这篇关于IS" API /"在ASP.NET MVC路线保留?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!