在ASP.NET Core Web API 3.1+中继承路由属性

哈米德·法蒂

我正在看书,ASP.NET Core in Action但根据解释发现了奇怪的行为。在书中作者说:

要调用该Start方法,您需要遵循api/car/start

[Route("api")]
public class BaseController : Controller { }

[Route("car")]
public class CarController : BaseController
{
   [Route("start")]
   [Route("ignition")]
   [Route("/start-car")]
   public IActionResult Start()
   {
   /* method implementation*/
   }
}

但是说明不正确,在测试示例中,它car/start不是通过URL起作用的api/car/start

在此处输入图片说明谁能解释为什么api忽略了作者所说的相反的东西?

乌芒

因为它不能那样工作。继承时,route属性将覆盖基类的route属性。

作者认为,继承中的Route Attribute与类和方法的工作方式相同。

来源:https : //docs.microsoft.com/zh-cn/aspnet/core/mvc/controllers/routing?view=aspnetcore-3.1

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章