1

我正在尝试为我的 API 创建文档。到目前为止,我已经尝试过使用Swagger.NetWeb API 帮助页面

这两个工具都为我提供了从 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

有任何想法吗?

4

1 回答 1

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 将无法显示帮助文档。

于 2013-06-11T21:24:54.887 回答