更改 ASP.Net Core 中网址的"/api"部分



当我运行.NET Core Web API项目时,我会得到一个看起来像这样的URL:http://localhost:5000/api/...

如何将URL的/API/一部分更改为其他东西?即-http://localhost:5000/myService/...

我正在使用kestrel作为我的网络主机。

这取决于您如何设置项目。默认情况下,我相信它使用属性路由。在您的控制器中,您应该看到类似的东西

[Route("api/[controller]")]
public class ValuesController : Controller
{

[route(" api/[Controller]")]只需要更改为[route(" MyService/[Controller]))]

如果您想在全球范围内这样做。

app.UseMvc(routes =>
{
   routes.MapRoute("default",  "myservice/{controller=values}/{action=get}/{id?}");
});

尽管我本人不使用它,但这并不是MS对Web API的建议。您可以在这里阅读更多。

混合路由 MVC应用程序可以混合常规路由和属性路由的使用。通常,将常规路由用于为浏览器提供HTML页面的控制器,并为服务REST API的控制器属性路由。

您只需安装 microsoft.aspnetcore.http.abstractions nuget软件包,然后在 IApplicationBuilder上使用 UsePathBaseExtensions的 CC_2扩展方法,例如:

app.UsePathBase("/api/v1");

相关内容

  • 没有找到相关文章

最新更新