1.0.9 • Published 4 years ago

swagger-extra v1.0.9

Weekly downloads
3
License
ISC
Repository
github
Last release
4 years ago

swagger-extra

基于swagger.yaml的nodejs接口映射工具,应用于KOA框架中。

相比于直接使用swagger的优点

  • 根据yaml,自动生成接口文件xx.js
  • 根据yaml,自动生成接口的路由
  • 根据yaml名称生成访问swagger的路由

只需要编写swagger,接口就能可用,与创建controller等烦躁的工作说再见。

使用

  • 第一步:准备swaggerxx.yaml
# ...
paths:
  /common/login:
    post:
      tags:
        - tagTest
      summary: 登录
      description: code必选;encryptedData,iv授权之后传
      parameters:
        - name: code
          type: string
          in: formData
          required: true
        - name: encryptedData
          type: string
          in: formData
        - name: iv
          type: string
          in: formData
      responses:
        200:
          description: successful
          schema:
            type: object
# ...
  • 第二步:创建SwaggerExtra实例
let SwaggerExtra = require('swagger-extra'),
    swaggerExtra = new SwaggerExtra(
        path.join(__dirname, 'config', 'controller'),
        path.join(__dirname, 'controller'),
        {
            //是否生成swagger相关路由,默认为是
            isAutoFixControllersOpen: true, 
            //是否将接口自动写入接口文件xx.js,默认为是
            isSwaggerOpen: true,
            //获取post参数对象的代码,默认为:ctx.request.body
            postBodyGetCode: 'ctx.request.body',
            //获取get参数对象的代码,默认为:ctx.param
            getParamsGetCode: 'ctx.params',
            //返回数据格式,示例:ctx.body = {code: 200, 'message': 'success', data: {}}
            controllerReturnCode: 'ctx.body = {code: 200,};'
        },
    );
  • 第三步:使用routes
koa.use(swaggerExtra.getRoutes());
  • 第四步,运行koa工程

此时可以通过ip:port/swagger文件名来访问swagger并可以通过swagger来访问接口。

注意

  • isAutoFixControllersOpen 为false时,不会自动创建controller文件
  • isSwaggerOpen 为false时,swagger不可访问。
1.0.9

4 years ago

1.0.8

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.0

4 years ago