如何在我的Web API应用程序的代码中获取路由

时间:2014-07-21 11:46:51

标签: asp.net-web-api url-routing

我在订单管理器中声明了这条路线,覆盖了默认的/ orders / {orderid}路线:

[Route("api/properties/{propertyId}/orders/{orderId}")]
public string Get(int propertyId, int orderId)

我想在我的模型中为此订单添加超文本链接,但我无法弄清楚如何在代码中获取路由的URL。我在使用Razor视图引擎的视图中完成了它,但在代码中没有。

我知道如何一般地设置它吗?

1 个答案:

答案 0 :(得分:0)

您可以为路线命名,然后使用Url.Link方法从路线生成链接。

例如,

      [Route("api/properties/{propertyId}/orders/{orderId}", Name = "testRoute")]
        public string Get(int propertyId, int orderId)
        {
            string uri = Url.Link("testRoute", new { propertyId = propertyId, orderId = orderId });

            return uri;

        }