我正在尝试为我的API创建文档。到目前为止,我已尝试使用Swagger.Net和Web API help pages
这两个工具都为我提供了从XML生成的正确文档,但它们都向我显示了重复的条目。我想这与我的路线配置有关:
config.Routes.MapHttpRoute(
name: "Sample1",
routeTemplate: "sample1/{controller}/{id}",
defaults: new { id = RouteParameter.Optional });
config.Routes.MapHttpRoute(
name: "Sample2",
routeTemplate: "sample2/{controller}/{id}",
defaults: new { id = RouteParameter.Optional });
我在视图中看到的是Sample1和Sample2的方法,如下所示:
../sample1/method1
../sample1/method2
../sample2/method1
../sample2/method2
我想要这个:
../sample1/method1
../sample2/method2
有什么想法吗?
答案 0 :(得分:2)
根据您的上一条评论,您可以通过设置路由约束并期望HelpPage正确显示来完成此操作。示例如下:
config.Routes.MapHttpRoute(
name: "AdminRoute",
routeTemplate: "api/folder1/{controller}/{id}",
defaults: new { id = RouteParameter.Optional },
constraints: new { controller = "Roles|Users" }
);
config.Routes.MapHttpRoute(
name: "RegularRoute",
routeTemplate: "api/folder2/{controller}/{id}",
defaults: new { id = RouteParameter.Optional },
constraints: new { controller = "Products|Reviews" }
);
注意:如果您尝试将文件夹设置为路径变量,则HelpPage将无法显示帮助文档。