node.js - Swagger 3.0.1 服务器生成器

标签 node.js swagger swagger-3.0

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

enter image description here

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

最佳答案

短期修复:您可以让它运行,直到 oas3-tools 和 Smartbear(针对此服务器生成器)的维护者修复了各自的部分。

问题 A:oas3-tools 构建脚本未将“中间件”复制到“dist”目录。

要解决此问题:

  1. 启动生成的服务器(这将运行 npm install 并在 node_modules/oas3-tools 中创建 dist 文件夹)
  2. 进入 ./node_modules/oas3-tools 并将缺少的 src/middleware 手动复制到 dist 文件夹。
  3. 现在您的 dist 文件夹中已有一个 middleware 文件夹,请对其运行以下 typescript 编译命令:tsc dist/middleware/

问题B:

下一个问题是 swagger 文档路径上的拼写错误不正确。

要解决此问题:

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

可能的额外问题:

您可能需要手动转译 .ts 文件。如果您也遇到此问题,请参阅下面@Alex 的评论(即错误 TS6053:找不到文件“dist/middleware/.ts”。发现 1 个错误)

<小时/>

关于node.js - Swagger 3.0.1 服务器生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59648179/

相关文章:

javascript - 我的自定义 JavaScript 函数是 "not a function"?

swagger - 如何指定以 Swagger 返回的pdf?

dictionary - 为什么 `additionalProperties` 是 Swagger/OpenAPI 2.0 中表示 Dictionary/Map 的方式

php - VSCode php-swagger 3.0 注释插件?

swagger - 在 OpenAPI 3 中将参数传递给 `$ref`

javascript - 使用 multer 上传文件时 Node.js 连接重置

node.js - 我可以通过复制文件在 Azure Node 应用程序服务器上部署 node.js 吗?

node.js - Swagger 生成器无法识别 Controller

json - Spring Boot - 如何使用 javax.validation 验证传入的嵌套 JSON 请求对象字段

javascript - React根组件不会加载整个index.html