OpenAPI与Swagger的区别
- OpenAPI = 规范
- Swagger = 实现规范的工具
安装包
-
swagger-ui-express
添加中间件Swagger UI网页,绑定swagger文档。 -
swagger-jsdoc
根据代码中的JSDoc注释生成swagger文档。
Swagger工具
实现范例:
/**
* @openapi
* /:
* get:
* description: Welcome to swagger-jsdoc!
* responses:
* 200:
* description: Returns a mysterious string.
*/
app.get(‘/‘, (req, res) => {
res.send(‘Hello World!‘);
});
会根据@openapi or @swagger 标记提取注释内容
const swaggerUi = require(‘swagger-ui-express‘);
const swaggerJsdoc = require(‘swagger-jsdoc‘);
const options = {
definition: {
openapi: ‘3.0.0‘,
info: {
title: ‘Hello World‘,
version: ‘1.0.0‘,
},
},
apis: [‘./src/routes*.js‘], //包含上述注释的文件
};
const openapiSpecification = swaggerJsdoc(options);
app.use(‘/api-docs‘,swaggerUi.serve,swaggerUi.setup(openapiSpecification));