C# 在ASP.NET核心Web API 3.1+;
我正在读《ASP.NET Core in Action》这本书,但根据解释,我发现了一种奇怪的行为。 作者在书中说: 要调用C# 在ASP.NET核心Web API 3.1+;,c#,asp.net-core,asp.net-web-api,C#,Asp.net Core,Asp.net Web Api,我正在读《ASP.NET Core in Action》这本书,但根据解释,我发现了一种奇怪的行为。 作者在书中说: 要调用Start方法,需要遵循api/car/Start [路由(“api”)] 公共类BaseController:控制器{} [路线(“汽车”)] 公共类控制器:BaseController { [路线(“开始”)] [路线(“点火”)] [路线(“/启动车辆”)] 公共IActionResult开始() { /*方法实现*/ } } 但是解释不正确,在测试示例中,它通过c
Start
方法,需要遵循api/car/Start
[路由(“api”)]
公共类BaseController:控制器{}
[路线(“汽车”)]
公共类控制器:BaseController
{
[路线(“开始”)]
[路线(“点火”)]
[路线(“/启动车辆”)]
公共IActionResult开始()
{
/*方法实现*/
}
}
但是解释不正确,在测试示例中,它通过car/start
URL而不是api/car/start
有谁能解释一下为什么
api
忽略了与作者所说完全相反的内容吗?因为它不是那样工作的。继承时,路由属性将覆盖基类路由属性
作者认为继承中的Route属性与类和方法的工作方式相同
资料来源: