本文记录express 集成Swagger 的步骤 点击查看Demo
相关环境
- express 4.16.0
- swagger-ui-express 3.0.10
- swagger-jsdoc 1.10.3
配置
将下面代码放到app.js 中,且必须放到var app = express(); 下面一行。我一开始放到底部没有生效。
// swagger
var swaggerUi = require('swagger-ui-express');
var swaggerJSDoc = require('swagger-jsdoc');
var swaggerDefinition = {
info: {
title: 'Node Swagger API',
version: '1.0.0',
description: 'Swagger 接口文档',
},
host: 'localhost:3000',
basePath: '/',
};
// options for the swagger docs
var options = {
// import swaggerDefinitions
swaggerDefinition: swaggerDefinition,
// path to the API docs
apis: ['./routes/*.js'],
};
// initialize swagger-jsdoc
var swaggerSpec = swaggerJSDoc(options);
// serve swagger
app.get('/swagger.json', function(req, res) {
res.setHeader('Content-Type', 'application/json');
res.send(swaggerSpec);
});
app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerSpec));
复制代码
定义路由接口注释
/**
* @swagger
* definitions:
* Puppy:
* properties:
* name:
* type: string
* breed:
* type: string
* age:
* type: integer
* sex:
* type: string
*/
复制代码
更多示例参考 Swagger Specification
参考文档