Node express 集成Swagger

本文记录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

参考文档

Swagger and NodeJS

转载于:https://juejin.im/post/5b5d780df265da0f6e5188fd

你可能感兴趣的:(Node express 集成Swagger)