我正在看书,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
!
因为它不能那样工作。继承时,route属性将覆盖基类的route属性。
作者认为,继承中的Route Attribute与类和方法的工作方式相同。
来源:https : //docs.microsoft.com/zh-cn/aspnet/core/mvc/controllers/routing?view=aspnetcore-3.1
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句