asp.net-mvc – 没有区域的ASP.NET Web API中的多级路由
发布时间:2020-12-16 07:32:55 所属栏目:asp.Net 来源:网络整理
导读:我正在尝试使用新的ASP.NET Web API执行以下操作: GET到/ api / business / {id}获取业务的目录信息.对同一URL的PUT更新信息等.该部分工作正常.当我想要添加以前曾经是一个动作的内容时,我遇到的问题就是查看该业务的评论.理想情况下,我希望在/ api / busin
我正在尝试使用新的ASP.NET Web API执行以下操作:
GET到/ api / business / {id}获取业务的目录信息.对同一URL的PUT更新信息等.该部分工作正常.当我想要添加以前曾经是一个动作的内容时,我遇到的问题就是查看该业务的评论.理想情况下,我希望在/ api / business / {id} / reviews中可以访问,其中GET返回评论,POST提交新评论,等等. 在普通的ASP.NET MVC应用程序中,我可以定义两个操作方法(Review和PostReview),然后使用属性来更改操作名称并接受第二个函数的HTTP方法.我希望有一些方法可以在新系统中使用类,但我无法弄清楚它是什么,我在文档中没有看到任何关于这个问题的内容. 使用区域不起作用,我可以说:我需要/ business / {id} URL工作以及中断的区域. 解决方法
Web API确实支持按行为进行路由,因此您可以执行以下操作:
routes.MapHttpRoute( name: "ActionApi",routeTemplate: "api/{controller}/{id}/{action}",defaults: new { action = "DirectoryInfo",id = RouteParameter.Optional } ); 控制器方法: [HttpGet] [ActionName("DirectoryInfo")] public void GetDirectoryInfo(int id) [HttpPut] [ActionName("DirectoryInfo")] public void PutDirectoryInfp(int id) [HttpGet] public void Review(int id) [HttpPost] [ActionName("Review")] public void PostReview(int id) 另一种选择是创建两个控制器,BusinessController和ReviewController,并创建以下路由: routes.MapHttpRoute( name: "BusinessRoute",routeTemplate: "api/business/{id}",defaults: new { controller = "Business",id = RouteParameter.Optional } ); routes.MapHttpRoute( name: "reviewsRoute",routeTemplate: "api/contacts/{id}/reviews/",defaults: new { controller = "Reviews",id = RouteParameter.Optional} ); 然后使用Web API样式的隐式动作名称. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-4 – 使用StructureMap为NServiceBus和MVC管理
- 深蓝词库转换1.6发布
- 按月分组的ASP.NET组数据
- 你应该在哪里定期登录asp.net-mvc?你应该使用ELMAH吗?
- ASP.NET获取请求的url信息汇总
- asp.net-mvc-3 – 自定义错误适用于HttpCode 403但不适用于
- asp.net – ADO.NET实体数据模型缺少Visual Studio 2015社区
- asp.net – 带有Windows身份验证的User.Identity.Name
- asp.net-web-api – 基于参数类型重载Web api操作方法
- 将密码哈希从ASP.NET Identity 2.0迁移到3.0
推荐文章
站长推荐
- asp.net-mvc – 在存储库之间调用方法 – 存储库
- asp.net-mvc-3 – CopyAllFilesToSingleFolderFo
- asp.net-mvc – @ Html.BeginForm()如何工作?
- asp.net-mvc – Asp.net MVC授权属性,重定向到自
- templates – 相当于ASP Classic中的母版页
- asp.net 读取配置文件方法
- asp.net-mvc – ASP.NET MVC Session vs Global
- 使用TypeScript装饰器会导致错误
- asp.net – 在Web API Formatter中设置Expires /
- asp.net-mvc – 如何注入Azure工作者角色?
热点阅读