Swagger 3.0.1 服务器生成器

Swagger 3.0.1 server generator

当我在在线工具https://editor.swagger.io/中使用swagger 3.0.1生成nodejs-server并尝试npm start项目时,我总是得到以下错误:

错误:找不到模块'./middleware/swagger.router'

短期修复:在 oas3-tools 和 Smartbear(对于此服务器生成器)的维护者修复它们各自的部分之前,您可以将其修复到 运行。

问题 A:oas3-tools 构建脚本没有将 'middleware' 复制到 'dist' 目录。

解决这个问题:

  1. 启动生成的服务器(这将 运行 npm 安装并在 node_modules/oas3-tools 中创建 dist 文件夹)
  2. 进入 ./node_modules/oas3-tools 并手动将丢失的 src/middleware 复制到 dist 文件夹。
  3. 既然您的 dist 文件夹中有一个 middleware 文件夹,运行 针对它的以下打字稿编译命令:tsc dist/middleware/

问题 B:

下一个问题是 swagger 文档路径的错别字不正确。

解决这个问题:

  1. 在您生成的服务器的 index.js 文件中,将字符串 'api/openapi.yaml' 更改为 'api/swagger.yaml'

可能的额外问题:

您可能需要手动转译 .ts 文件。如果您也 运行(即 error TS6053: File 'dist/middleware/.ts' not found. Found 1 error

,请参阅下面的 @Alex 评论

最新版本的 oas3-tools 是 2.1.2 搞砸了。现在使用 2.0.2。

oas3-tools : "2.0.2"