Asp.net web api Web API嵌套路由未按预期工作
我在嵌套Web API路由设置方面遇到困难 给定的路由配置为:Asp.net web api Web API嵌套路由未按预期工作,asp.net-web-api,asp.net-web-api-routing,Asp.net Web Api,Asp.net Web Api Routing,我在嵌套Web API路由设置方面遇到困难 给定的路由配置为: config.Routes.MapHttpRoute( name: "UsersGroups", routeTemplate: "api/users/{userID}/groups/{groupID}", defaults: new { controller = "UsersGroups", groupID = UrlParameter.Optional } ); 控制器的动作如下: public Auth
config.Routes.MapHttpRoute(
name: "UsersGroups",
routeTemplate: "api/users/{userID}/groups/{groupID}",
defaults: new { controller = "UsersGroups", groupID = UrlParameter.Optional }
);
控制器的动作如下:
public AuthGroup Get(long userID, int groupID)
{
//Get specific group here
}
public IEnumerable<AuthGroup> Get(long userID)
{
//get all groups for user here
}
public AuthGroup Get(长用户ID,int-groupID)
{
//在这里获取特定组
}
public IEnumerable我认为我所拥有的应该是正确的,但显然它没有像它看起来应该的那样工作。您应该使用RouteParameter.Optional
(来自Web API),而不是UrlParameter.Optional
(来自ASP.NET MVC)
到时候一切都会按照你的意愿进行
更多信息:
UrlParameter.可选
路由参数。可选
完全正确。我的错误是在MVC配置部分添加路由映射,然后在以后移动它们——我选择了UrlParameter.Optional,不管我看了多少次,我都没有注意到区别。谢谢