IS" API /"在ASP.NET MVC路线保留? [英] Is "api/" reserved in ASP.NET MVC routes?

查看:119
本文介绍了IS" API /"在ASP.NET MVC路线保留?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我不希望使用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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆