[英]Class level Route in asp.net with variable
是否可以有一个以变量结尾的类级别Route
? 例如:
[Route("api/{carType}")]
public class CarController : Controller
{
..rest of class
}
如果是这样,您将如何访问该变量?
还是我只是在想这完全错误? 我有几个对象都是从同一个抽象类派生的,现在每个对象都有一个不同的控制器,但实际上它们都是相同的。 我认为可能有通用的方法来处理所有事情,但不能确定解释对象实际类型的最佳方法。
例如:
[Route("api/{carType}")]
public class CarController : Controller
{
[HttpGet()]
public IActionResult GetCars()
{
IActionResult result;
switch(carType){
case "Ford":
result = myService.GetCars<Ford>();
break;
case "Toyota":
result = myService.GetCars<Toyota>();
break;
....
}
return result;
}
}
是的,我已经做了很多次。 您将创建一条路由,该路由映射到采用类名称的通用操作,然后使用反射调用该操作上您想要的任何方法。
是的,您始终可以按照以下示例进行操作:
[RoutePrefix("customers/{customerId}")]
public class OrdersController : ApiController
{
// GET customers/1/orders
[Route("orders")]
public IEnumerable<Order> Get(int customerId)
{
...
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.