【问题标题】:Swagger Web API Documentation Lists Methods TwiceSwagger Web API 文档两次列出方法
【发布时间】:2015-05-25 06:48:47
【问题描述】:

我正在使用 Swagger API 文档实用程序。请看一下屏幕截图。文档两次列出了这些方法。为了正确配置,我是否遗漏了什么?

我的控制器“JobTraps”只有一种方法。它仍然被列出两次。一种在 URL 中没有 PUT,另一种在 URL 中包含 PUT。所有其他控制器都会发生同样的情况。

有人可以向我解释为什么我会面临这种行为吗?我应该怎么做才能使其正常工作?

【问题讨论】:

  • 您使用什么库来生成 Swagger 文档?另外,如何为您的应用配置路由?如果你调用它们,包含 HTTP 动词的 URI 是否真的有效?
  • 我正在关注这篇文章。 bitoftech.net/2014/08/25/… 请注意,我在第 2 步中遇到了一些问题:在“启动”类中调用引导程序。我无法使用引导程序。所以我没有遵循这一步。我只启用了 XML 文件,它将根据我放置在控制器中的注释生成文档。是的,所有 http url 都可以正常工作。
  • 我也面临同样的问题。检查你的路由配置,看看是否有像 swagger UI 上显示的映射。

标签: c# documentation asp.net-web-api swagger swagger-ui


【解决方案1】:

我发现了问题。当我转到 App_Start 文件夹中的 webApiConfig.cs 文件时,它定义了两次路由。

所以我注释掉了“ActionAPI”路由,现在 swagger 开始正确显示 api 列表。

希望这对某人有所帮助。

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



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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-08
    • 2016-01-03
    • 1970-01-01
    • 1970-01-01
    • 2014-02-22
    • 2015-03-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多