首页 > 解决方案 > 如何回退到 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.

我尝试在中指定OrderRouteAttribute但这似乎不起作用。

标签: asp.netgenericsroutesfallback

解决方案


推荐阅读