从web api属性路由中的url获取路由值

时间:2014-10-15 05:17:08

标签: asp.net-web-api2 attributerouting

我有一个类似于

的Web API控制器
Public class TestController:APIController
{ 


   [Route(“Api/Test/{testId}/SubTest”)] 
     Public  void Post(int subTestid)
     {
     }

}

我们的要求是从post方法中的url获取testId的值。 任何人都可以提出实现这一目标的最佳方法。

1 个答案:

答案 0 :(得分:1)

查看此链接:http://www.asp.net/web-api/overview/web-api-routing-and-actions/attribute-routing-in-web-api-2

  

字符串“customers / {customerId} / orders”是该模板的URI模板   路线。 Web API尝试将请求URI与模板匹配。在这   例如,“客户”和“订单”是文字段,和   “{customerId}”是一个可变参数。

public class OrdersController : ApiController
{
    [Route("customers/{customerId}/orders")]
    [HttpGet]
    public IEnumerable<Order> FindOrdersByCustomer(int customerId) { ... }
}

您似乎需要将subTestid更改为testId,这样才能匹配。