使用Asp Web Api在控制器构造函数中获取URL参数

时间:2015-02-17 13:40:41

标签: c# asp.net-mvc routing asp.net-web-api asp.net-web-api-routing

我使用的是Asp Web Api V1

这是我的路线规则

config.Routes.MapHttpRoute(
    name: "FriendsUrl",
    routeTemplate: "api/{alias}/Friends",
    defaults: new 
    { 
        alias = RouteParameter.Optional, 
        controller = "User", 
        action = "Friends" 
    }
);

这是我的网址示例: / api / Smith / Friends 。 我的动作应该按原样运行,我将别名作为参数,但我需要更多的东西。

我需要在控制器的构造函数中获取别名

public PersonController()
{
    var alias = // alias from url
}

最糟糕的版本是通过 HttpContext.Current.Request.Url; 获取url,并解析它,但我不喜欢这种方法,因为在其他路由规则中{{1之后的第一个参数是控制器的名称:

api/

那么有什么解决方案吗?感谢)

0 个答案:

没有答案