不生成 swagger 文档 - Node JS + swaggerJSDoc

Not generating swagger document - Node JS + swaggerJSDoc

我正在尝试为我的 Node JS Express API 创建 swagger 文档。在 app.js 中添加了以下代码:

const options = {
  definition: {
    openapi: '3.0.0', // Specification (optional, defaults to swagger: '2.0')
    info: {
      title: 'Hello World!', // Title (required)
      version: '1.0.0', // Version (required)
    },
  },
  // Path to the API docs
  apis: ['routes/*.js']
};
const swaggerSpec = swaggerJSDoc(options);
// console.log(swaggerSpec)
app.get('/api-docs.json', (req, res) => {
  res.setHeader('Content-Type', 'application/json');
  res.send(swaggerSpec);
});
app.use('/api/docs',express.static('./node_modules/swagger-ui/dist'));

在申请途径之一中添加了以下文件:

/**
 * @swagger
 * resourcePath: /api
 * /login:
 *   post:
 *     description: Login to the application
 *     produces:
 *       - application/json
 *     parameters:
 *       - name: username
 *         description: Username to use for login.
 *         in: formData
 *         required: true
 *         type: string
 *       - name: password
 *         description: User's password.
 *         in: formData
 *         required: true
 *         type: string
 *     responses:
 *       200:
 *         description: login
 */

访问http://localhost:4000/api-docs.json

时生成以下输出
{"openapi":"3.0.0","info":{"title":"Hello World!","version":"1.0.0"},"paths":{},"components":{},"tags":[]}

然而,实际文档并未生成。解决此问题的任何帮助将不胜感激。

找出问题所在并解决。

api 的路径 属性 必须是从根目录修改的 apis: ['routes/*.js']apis: ["src/routers/*.js"] 的相对路径并且有效。