【问题标题】:How to define multiple operations on the same route using Express Swagger Generator如何使用 Express Swagger Generator 在同一路线上定义多个操作
【发布时间】:2017-11-07 11:09:02
【问题描述】:

我正在使用 npm 包 express-swagger-generator 并且当我定义 2 条这样的路由时:

/**
 * @group Users - operations about user
 * @route GET /users
 * @route POST /users
 */

它只显示 POST 路由,而不是像 this 这样的 GET 路由

如果我切换它们,它只会显示 GET 路由,并且使用 @group 标签在不同的地方定义它们也是如此。

如何让 /users 上的 POST 和 GET 路由同时显示在我的 api 文档中?

【问题讨论】:

    标签: node.js express npm documentation swagger


    【解决方案1】:

    查看source,特别是swagger.js,第85行:

    parameters[route.uri] = {}
    

    这一行基本上会清除给定路由的任何先前解析的方法/参数/等。该库似乎没有设计或开发得不够远,无法为单个函数(甚至在多个函数上 - 这对我个人而言似乎是一个交易破坏者)进行多个路由注册。

    如果这是您喜欢的,我建议针对该存储库提出问题,甚至更好。提出问题并为其提出拉取请求。

    就个人而言,我确实相信实现可以包含此功能,因为在当今基于 REST 的 API 中,通过多个动词公开同一路径是很常见的。

    建议的更改可能如下所示:

    parameters[route.uri] = parameters[route.uri] || {}
    parameters[route.uri][route.method] = parameters[route.uri][route.method]  || {}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-03
      • 2020-10-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多