我有使用 NodeJS 开发的微服务。我需要集中所有 API,但为了避免任何混乱,我希望将每个微服务记录在单独的页面上。我的问题是,有没有办法使用 NodeJS 在 Swagger 中创建多个页面?
我找到了使用 React 的解决方案,但我希望仅使用 NodeJS 和 Swagger 来完成此任务。我见过很多类似的问题,但它们通常与 Java 和 Spring Boot 相关。
您可以在 NodeJS 中使用 swagger-jsdoc 和 swagger-ui-express 包来执行此操作。
const express = require('express');
const swaggerJsDoc = require('swagger-jsdoc');
const swaggerUi = require('swagger-ui-express');
const app = express();
const swaggerOptions = {
swaggerDefinition: {
info: {
title: 'Microservice API',
version: '1.0.0',
},
},
apis: ['app.js'], // path to the API docs
};
const swaggerDocs = swaggerJsDoc(swaggerOptions);
app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocs));