的WebAPI帮助和multipe路线(WebApi help and multipe routes

2019-10-18 22:22发布

我甲肝一个Web API项目(C#,asp.net MVC),我需要能够既打电话的动作,使用模板API / {控制器} / {行动} / {ID}和API / {控制器} / {ID} 。 要做到这一点,我添加了2条路线API控制器:

 config.Routes.MapHttpRoute(
           name: "DefaultApi",
           routeTemplate: "api/{controller}/{action}/{id}",
           defaults: new { id = RouteParameter.Optional },
           constraints: new { action = @"^[a-zA-Z]+$" }
           );

        config.Routes.MapHttpRoute(
          name: "RestFull",
          routeTemplate: "api/{controller}/{id}",
          defaults: new { id = RouteParameter.Optional });

所以,现在如果我有控制器和myController的方法删除,我可以把它都删除API / myController的/删除和删除API / myController的; 另外我有自动生成API的帮助,我已经添加了路由的第二个变体之后 - 一些方法是在帮助现在显示两次。

我想是有只有一个帮助参考,每个动作。 可能吗? 或者也可以是不对我的路由和我可以有多个GET / POST方法,只是用“API / {}控制器/(编号)”的模板?

Answer 1:

这里的关键词是“自动生成” API帮助。 你有两个途径,所以你的帮助会列出他们俩。 围绕这一点的唯一方法是不使用自动生成的帮助。 但是,如果有两条路线是做一些事情, 应该被记录在案,否则,你应该只需要开始一个途径。



文章来源: WebApi help and multipe routes