egg-openapi-router
    TypeScript icon, indicating that this package has built-in type declarations

    1.0.11 • Public • Published

    egg-openapi-router

    NPM version npm download NPM

    @rickyli79/koa-openapi-router plugin for Egg.js.

    NOTE: This plugin just for Egg.js, more documentation please visit https://github.com/RickyLi79/koa-openapi-router.

    Install

    $ npm i --save egg-openapi-router

    Usage & configuration

    Enable plugin in config/plugin.js

    exports.openapiRouter = {
      enable: true,
      package: 'egg-openapi-router'
    }

    Edit your own configurations in config/config.{env}.js

    • Single config
      // config/config.{env}.js
      exports.openapiRouter = {
        config: {
          controllerDir: 'my/api/dir', // default: ''
          docsDir: path.join(appInfo.baseDir, 'my-openapi-doc'), // default: path.join(appInfo.baseDir, 'openapi-doc')
          routerPrefix: '/myApi', // default : ''
        },
      };
    • Muti Configs
      // config/config.{env}.js
      exports.openapiRouter = {
        configs: {
          'my/api/module/1': {
            controllerDir: 'module-1',
            docsDir: path.join(appInfo.baseDir, 'openapi-doc-module-1'),
          },
          'my/api/module/2': {
            controllerDir: 'module-2',
            docsDir: path.join(appInfo.baseDir, 'openapi-doc-module-2'),
          },
        },
      };

    Examples

    openapi-docs:

    # openapi-doc/my.oas3.json
    openapi: "3.0.0"
    paths:
      /hello:
        get:
          responses:
            200:
              description: ok

    edit config/config.{env}.js:

    // config/config.{env}.js
    exports.openapiRouter = {
      config: {
        controllerDir: '', 
        docsDir: path.join(appInfo.baseDir, 'openapi-doc'),
        routerPrefix: '',
      },
    };

    controller:

    // app/controller/default.js
    const Controller = require('egg').Controller;
    class DefaultController extends Controller {
      async 'GET /hello'() {
        const { ctx } = this;
        ctx.status = 200;
        ctx.body = 'nihao';
      }
    }
    module.exports = DefaultController;

    More documentation please visit https://github.com/RickyLi79/koa-openapi-router.

    Example

    Here is an example for @rickyli79/json-schema-mock and egg-openapi-router

    Test Report

    Allure Report

    License

    MIT

    Install

    npm i egg-openapi-router

    DownloadsWeekly Downloads

    1

    Version

    1.0.11

    License

    MIT

    Unpacked Size

    14.6 kB

    Total Files

    22

    Last publish

    Collaborators

    • rickyli79