asp.net-mvc-4 – MVC 4.5 Web API路由无法正常工作?
发布时间:2020-12-16 00:11:43 所属栏目:asp.Net 来源:网络整理
导读:第一条路线有效. 例如API /货架/ SpaceTypes / 1 第二条路线不起作用.我得到多个动作错误. 例如api / Shelves / 1 问)为什么? 这些是我的路线: config.Routes.MapHttpRoute( "DefaultApiWithAction","api/{controller}/{action}/{id}");config.Routes.MapH
第一条路线有效.
例如API /货架/ SpaceTypes / 1 第二条路线不起作用.我得到多个动作错误. 例如api / Shelves / 1 问)为什么? 这些是我的路线: config.Routes.MapHttpRoute( "DefaultApiWithAction","api/{controller}/{action}/{id}" ); config.Routes.MapHttpRoute( "DefaultApiWithId","api/{controller}/{id}",null,new { id = @"d+" } ); 这是我的控制器: public HttpResponseMessage Get(int id) { ... } [ActionName("SpaceTypes")] public HttpResponseMessage GetSpaceTypes(int id) { ... } 解决方法
对于MVC 4.5,这是唯一可行的
目前有一个bug about this. 为了使您的路由工作,以下工作 api/Shelves/ //Get All Shelves api/SpaceTypes/1 //Get Shelf of id 1 api/Shelves/1/SpaceTypes/ //Get all space types for shelf 1 你需要做以下事情. 将您的路由更改为. (注意默认操作..) config.Routes.MapHttpRoute( name : "DefaultAPi",routeTemplate : "api/{controller}/{id}/{action}",defaults: new {id= RouteParameter.Optional,action = "DefaultAction"} ); 在您的控制器中将基本方法更改为 [ActionName("DefaultAction")] public string Get() { } [ActionName("DefaultAction")] public string Get(int id) { } [ActionName("SpaceTypes")] public string GetSpaceTypes(int id) { } 现在一切都应该按预期工作了.. 感谢Kip Streithorst全程,for a full explanation (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – ActivationManager构建过程中的异常?
- asp.net-mvc – ASP.NET MVC Ajax.BeginForm不起作用
- asp.net-mvc-3 – 在Kendo网格中显示datetime字段的空单元格
- asp.net-mvc – 如果Hangfire已经运行,请停止启动定期作业
- 找出ASP.NET请求是否来自本地计算机
- .NET Core采用的全新配置系统[1]: 读取配置数据
- asp.net – 水晶报告数据源到业务层对象集合
- Azure 上部署 ASP.NET Core Web App
- asp.net – Microsoft EDGE – 访问此资源所需的安全证书无
- asp.net-core – 对Post请求的两次调用:使用http 204和200
推荐文章
站长推荐
- asp.net – 自动完成扩展程序 – 滚动条导致结果
- asp.net – 我可以使用Chrome DevTools在客户端查
- 如何使文本框在asp.net中不可编辑(c#)
- ASP.net页面在import语句中获取错误,但我有参考的
- Task.Factory.StartNew在ASP.Net MVC中有帮助或有
- asp.net – 服务器标签格式不正确,ASP Repeater
- asp.net-mvc – MVC:存储库和服务
- asp.net-web-api – Structure Map无参数构造函数
- 如何在asp.net/c#中重现丢失的会话?
- 配置 – ASP.NET Web Api:项目需要SQL Server E
热点阅读