当我运行.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");