asp.net-mvc-4 – WebAPI如何指定控制器将到达哪个路由
我一直在尝试使用MVC WebAPI,非常酷的东西.但我正在努力解决路线问题.
作为一个例子,我有一个webAPI项目结构,如下所示: 项目: >控制器 >客户 > CustomerController.cs >产品 > ProductCategoriesController.cs 目前我在WebApiConfig.cs中定义了一个API路由 config.Routes.MapHttpRoute( name: "CustomerApi",routeTemplate: "api/customer/{controller}/{id}",defaults: new { id = RouteParameter.Optional } 当我只有客户相关的控制器时,这很好用. > GET api / customer / CustomerAddress /?customerID = 1234 但是现在我已经添加了与配置相关的产品相关控制器(当然)以获得我必须调用Uri的产品: > GET api / customer / products /?prodID = 5678 *但我不想要这个Uri 相反,我想: > GET api / products /?prodID = 5678 对于产品类别,我想要类似于: > GET api / products / categories /?catID = 1357 我认为我必须做的就是添加更多路线,但是我无法找到如何将各种控制器与我希望的路线联系起来? 如果我确实添加了另一条路线,我最终会将两条不同的uri路由到我建立的每个控制器. 如何实现我想要的逻辑分区? 解决方法
使用Web Api 2,您可以顺利地为您的操作定义特定路由.例如 :
public class CustomerController : ApiController { [Route("api/customer")] public IEnumerable<Customer> GetCustomers() { // .. } [Route("api/customer/{customerID}")] public Customer GetCustomer(int customerID) { // .. } [Route("api/customer/CustomerAddresses/{customerID}")] public Address GetCustomerAddresses(int customerID) { // ... } } public class ProductController : ApiController { [Route("api/product")] public IEnumerable<Product> GetProducts() { // .. } [Route("api/product/{prodID}")] public Product GetProduct(int prodID) { // .. } [Route("api/product/categories/{catID}")] public Category GetCategory(int catID) { // ... } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 在asp.net MVC中排序表
- asp.net – ASP.MVC CORE网站的最大上传大小
- asp.net – 可能添加MIME类型到web.config而不可能打破网站
- asp.net-mvc – 如何使用ASP.NET MVC抽象标记的常见片段
- asp.net-mvc – 模型支持DB上下文已更改;考虑代码优先迁移
- asp.net-core – 使用asp.net核心进行Windows身份验证
- asp.net-mvc – MVC禁用SelectListItem属性不起作用
- 【开源小软件 】Bing每日壁纸 V1.2.1
- asp.net-mvc – asp.net MVC-3视频教程?
- asp.net-mvc – 查找:DisplayTemplates速度
- asp.net-core – 如何编写包含其他标记帮助程序的
- asp.net – asp .net mvc 4下拉列表
- asp.net – Solr Connection’已在容器中注册
- asp.net-mvc – 如何成功配置Common.Logging?
- 如何禁用Button asp.net
- .NET Core MVC RequestLocalization忽略DefaultR
- asp.net-mvc – 它是否有意义在Webapi中有ViewMo
- asp.net – ‘response.clear()’删除内容和标题
- 模型 – 视图 – 控制器 – ASP.NET WebForms vs
- asp.net-mvc-3 – 需要帮助区分WebMatrix,ASP.NE