Swagger 不显示带有 Express 注释的文档

Swagger not showing documentation with Express annotations

所以我有一个简单的休息 API 可以与 Express 和 MySQL 一起使用,现在我想添加一些 swagger 文档,经过一些搜索后我找到了一个 youtube 视频,这个人记录了他的API 使用注释。我已经完成了 api-docs 路线的第一部分,但它似乎无法找到注释。

提前致谢,祝新年快乐 :D

app.js:

app.get("/", (req, res) => {
  res.send("Welcome to root!");
});

fs.readdir("./routes", (err, files) => {
  files.forEach(file => {
    app.use("/", require("./routes/" + file));
  });
});

// configure and setup swagger
const swaggerOptions = {
  swaggerDefinition: {
    info: {
      title: "Rest API",
      description: "A simple rest API",
      servers: ["http://localhost:3003"]
    }
  },
  apis: [".routes/*.js"]
};

const swaggerDocs = swaggerJsDoc(swaggerOptions);
app.use("/api-docs", swaggerUi.serve, swaggerUi.setup(swaggerDocs));

routes/user.js:

const express = require("express");
const router = express.Router();
const getConnection = require("../db.js");

/**
 * @swagger
 * /user:
 *    get:
 *      description: Returns all users
 *      responses:
 *        '200':
 *          description: Successfully returned all user
 *        '500':
 *          description: Failed to query for users
 *    put:
 *      description: Use to insert a new user
 *    parameters:
 *      - name: firstName
 *        in: body
 *        description: Firstname of the user
 *        required: true
 *        schema:
 *          type: string
 *          format: string
 *      - name: lastName
 *        in: body
 *        description: lastName of the user
 *        required: true
 *        schema:
 *          type: string
 *          format: string
 *    responses:
 *      '200':
 *        description: Successfully inserted a user
 *      '500':
 *        description: Failed to insert a user
 */

router
  .route("/user")
  .get((req, res) => getAllUsers(req, res))
  .post((req, res) => insertUser(req, res));
router
  .route("/user/:id")
  .get((req, res) => getUserById(req, res))
  .put((req, res) => updateUser(req, res))
  .delete((req, res) => deleteUserById(req, res));

apis: ["./routes/*.js"] 解决了问题