本文記錄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
參考文件