我使用的是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/
那么有什么解决方案吗?感谢)