栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

egg(十三):使用egg-swagger-doc自动生成swagger接口管理

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

egg(十三):使用egg-swagger-doc自动生成swagger接口管理

前言:         后端java或者其他语言引入swagger是可以的,当然我们的egg中也是支持引入的,需要引入 egg-swagger-doc 。 实现效果:

 官方:入口 实现步骤: 1、安装
cnpm i egg-swagger-doc --save
2、打开 config/plugin.js ,加入下面内容

exports.swaggerdoc = {
  enable: true,
  package: 'egg-swagger-doc',
};
3、打开 config/config.default.js

   const config = exports = {};

    
  config.swaggerdoc = {
    dirScanner: './app/controller',
    apiInfo: {
      title: 'egg-swagger',
      description: 'swagger-ui for egg',
      version: '1.0.0',
    },
    schemes: ['http'],
    // consumes: ['application/json'],
    // produces: ['application/json'],
    securityDefinitions: {
      // apikey: {
      //   type: 'apiKey',
      //   name: 'clientkey',
      //   in: 'header',
      // },
      // oauth2: {
      //   type: 'oauth2',
      //   tokenUrl: 'http://petstore.swagger.io/oauth/dialog',
      //   flow: 'password',
      //   scopes: {
      //     'write:access_token': 'write access_token',
      //     'read:access_token': 'read access_token',
      //   },
      // },
    },
    // enableSecurity: false,
    // enablevalidate: true,
    routerMap: true,
    enable: true,

  }
到这一步,配置文件已经到位了,现在得加入具体的路由注释了 4、添加模块
 
5、添加具体方法注释,get请求 
async getNoteList(){

}
注释含义:
  • @controller 这个便变成一个tag
  • @summary 简介
  • @description 描述
  • @router 就是请求地址
  • @request 其实是swagger里面的parames,其中的authorize_login是定义中app/contract的一个object。翻译到swagger就是一个 object的引用。
  • @response 响应,其中的baseResponse,同上。
  • @consumes 提交到请求的数据格式(即带body的请求,例如post,有效其他无效),如果没有定义,则跟从配置文件设置。如果要多种选择,可以用空格分开,例如 @consumes html/text application/json。
  • @product 同上。
6、post请求,注意,这里的参数body后面的 postNoteParams 是需要在contract中定义方法
 async postNoteList(){

 }
7、新建contract文件夹,新建index.js

 index.js内容
module.exports = {
  //账户
  postAccountParams: {
    username: { type: 'string', required: false, description: '账户名' },
    password: { type: 'string', required: false, description: '密码' },
    role: { type: 'string', required: false, description: '权限' },
    phone: { type: 'string', required: false, format: /^1[34578]d{9}$/, description: '电话' },
  },

}
8、将默认地址指向 swagger的地址,打开路由文件,如果不指向,地址是:http://localhost:7001/swagger-ui.html
module.exports = app => {
    const { router, controller, middleware } = app;


    //默认打开swagger
    router.redirect('/', '/swagger-ui.html',302);

}
9、打开页面,输入ip+端口号看效果,http://localhost:7001
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/582010.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号