asp.net - 如何回退到 Asp.Net 中的通用 http 路由
问题描述
我有一个案例,我想使用更具体的路线,或者如果不存在,请使用通用路线。
[RoutePrefix("cars")]
public class CarsController : ApiController
{
[Route("{type}/{id}/decomission")]
[HttpPut]
public IHttpActionResult Decomission(string type, Guid id)
{
PerformGenericDecomission(type, id);
}
}
[RoutePrefix("cars/truck")]
public class TruckController : ApiController
{
[Route("{id}/decomission")]
[HttpPut]
public IHttpActionResult Decomission(Guid id)
{
PerformTruckSpecificDecomission(id);
}
}
所以api/cars/truck/{id}/decomission
路由到TruckController
butapi/cars/sedan/{id}/decomission
或者api/cars/hatchback/{id}/decomission
会路由到CarController
.
我尝试在中指定Order
,RouteAttribute
但这似乎不起作用。