asp.net-web-api – Web API嵌套路由无法按预期工作
我在嵌套Web API路由设置方面遇到了困难.
给定路由配置: 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 } 调用此路由/ api / users / 1528 / groups会出现此错误:
我期待它用单个long参数来获取动作,但显然由于某种原因它忽略了这一点并直接进入具有大多数参数的那个. 根据MS提供的关于Web API如何解释路由的内容:http://www.asp.net/web-api/overview/web-api-routing-and-actions/routing-and-action-selection我认为我所拥有的应该是正确的,但显然它似乎不应该正常工作. 解决方法
您应该使用RouteParameter.Optional(来自Web API),而不是UrlParameter.Optional(来自ASP.NET MVC).
一切都会按照你的意愿行事. 更多信息: > UrlParameter.Optional – http://msdn.microsoft.com/en-us/library/system.web.mvc.urlparameter.optional(v=vs.108).aspx (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 将动态JSON对象传递给Web API – Newtonsof
- asp.net-mvc – Angular.js和WebAPI CRUD示例
- asp.net – 当前上下文中不存在该名称
- asp.net – 相当于[DataMember(Name =“Test”)]的JsonResu
- 使用ASP.net刷新/重新加载副作用?
- iis-7 – 经典asp:错误’800a01ad’ActiveX组件无法创建对
- 自动完成后的事件填写Asp.net C#或javascript / html,
- [译]ASP.NET Core 2.0 网址重定向的方法
- asp.net-mvc – 为什么使用sendgrid发送的电子邮件总是附加
- ASP.NET MVC 3:我可以将C#Razor Views与F#控制器结合使用吗
- asp.net-core – 如何在IServiceCollection.Conf
- 将asp.net值传递给javascript块
- asp.net-mvc-3 – 剃刀引擎 – 如何根据不同的条
- asp.net – 如何手动调用ValidationAttributes?
- asp.net – 如何验证用户选择至少一个复选框?
- ASP.NET Core:部署项目到Ubuntu Server
- asp.net-mvc – 支持URL中任何位置的catch-all参
- Asp.net核心IIS 8.5:找不到视图“索引”
- asp.net-membership – 将ASP.NET成员资格提供程
- asp.net – Windows 10主页:Windows身份验证