首页 > 解决方案 > 如何拥有默认的 /api 路由?

问题描述

我在 Visual Studio 中使用最新的 Asp.Net Core 3 模板。

有一个默认值HomeController,它是通过映射的/Home,它的Index动作也是通过实现的/

我添加了两个 Api 控制器:DefaultControllerMController. 的子类ControllerBase。这些是通过自动映射/api/default的。/api/m我找不到配置路由的位置。

我必须做什么才能实现以下路线:

/      -> /HomeController/Index (no change)
/home  -> /HomeController (no change)
/api   -> /api/default
/api/m -> /api/m (no change)

标签: c#asp.net-core

解决方案


默认模板将具有引用控制器名称的路由注释,即

[Route("api/[controller]")]

尝试将其更改为:

[Route("api")]
class DefaultController 
{
    ....
}

推荐阅读