使用配置json的方式快速构建 restful api, 以及相应的 swagger 生成文件。类似于 loopback
swagger.json 规则来自于 https://editor.swagger.io//?_ga=2.41951072.471192285.1510301833-940518916.1510301833#/
egg-connector-remote 版本 | egg 1.x |
---|---|
1.x | 😁 |
0.x | ❌ |
未依赖
// config/plugin.js
exports.connectorRemote = {
enable: true,
package: 'egg-connector-remote',
};
- 通过配置生成 swagger.json 的信息,配置语法 参考 loopback http://loopback.io/doc/en/lb3/Define-model-relations.html
- 增加 registerRemote 全局方法. 自动处理 model 和 ctrl 的关系
- 增加 access 访问控制 同 loopback
- 仅适用 role
- 类似 loopback 的 rest方式暴露出
swagger.json
// 默认配置
const defaultConfig = {
modelsPath: 'model.models',
swaggerDefinition: {
info: { // API informations (required)
title: 'theone.io', // Title (required)
version: '1.0.0', // Version (required)
description: 'swagger service description', // Description (optional)
},
basePath: '/api/v1',
},
registerRemote: true, // 开启注册 remote 功能
accessRemoteDefinition: {
enable: true, // 默认 false, 是否开启访问控制
getMatchFunc: function() => {}, // role 的 Model, 获取验证的方法。
},
};
npm run test
- config2swagger: 使用 model.setting 的配置生成 swagger相关文件。
- remote:自动处理 Model.setting 和 ctrl 的关系以及路由的关系
- Test parameter: 自动校验输入输出参数
- access controller: 访问控制, 权鉴设置
- [] 动态增加 remote
- [] 增加beforeRemote 和 afterRemote
请到 egg issues 异步交流。
- 复数lib - 强迫症患者使用
npm login
npm publish