在ASP.NET Core中,可以通过使用路由前缀特性来为控制器或控制器中的方法指定一个共同的前缀。
下面是一个使用路由前缀的示例:
[Route("api/[controller]")]
[ApiController]
[RoutePrefix("prefix")]
public class MyController : ControllerBase
{
[HttpGet]
[Route("action1")]
public IActionResult Action1()
{
// ...
}
[HttpGet]
[Route("action2")]
public IActionResult Action2()
{
// ...
}
}
在上面的示例中,[Route("api/[controller]")]
指定了控制器的基本路由。然后,使用[RoutePrefix("prefix")]
特性指定了控制器中所有方法的路由前缀。
在控制器的方法上,可以使用[Route]
特性来指定具体的路由路径。例如,[Route("action1")]
将匹配到MyController
中的Action1
方法。
这样,对于MyController
的所有方法,它们的完整路由路径将是api/[controller]/prefix/[action]
,即/api/mycontroller/prefix/action1
和/api/mycontroller/prefix/action2
。
请注意,[RoutePrefix]
特性在ASP.NET Core中已过时,推荐使用[Route]
特性来替代。上面的示例中使用了[RoutePrefix]
仅供演示目的。