old-api
0.0.1-alpha.14-edu • Public • Published Adapter 处理流程
接口[出参|入参]
映射关系生成
- 根据 swagger 生成 newApi
- 通过 elk 导出 oldApi 的响应数据结构体 urlRepos
- 使用getMappingResource 方法解析
urlRepos
生成 oldApi 的返回值key
以及structure
(packages/old-api/elk/sourceMappings/
)
- 交由后端补充填写完 oldApi==>newApi 的字段映射关系,特殊结构做注释说明
- 使用
scripts/json2mappings
脚本 将补充完整的映射关系处理成按controller/method/[res|req]
的目录结构生成对应的文件
适配器生成规则
- 根据urlRepos 以及 confluence 中维护的新旧
controller|url
映射关系(方法待完善,解析confluence导出word待开发
)
export default {
_newMethod: 'newMethod',
_url_: { new: '/api/new/', old: '/api/old/' },
_Controller: { new: 'newController', old: 'oldController' },
// ···
}
- 自动生成的
old-api/src/[controllers]
文件对入参进行装箱
async function needInit_POST_1(
qyIds: INeedInitPOST1QyIdsReq,
needInit: INeedInitPOST1NeedInitReq,
): Promise<NeedInitPOST1PostRes> {
//将参数包装到对象中
return adapter.needInit_POST_1({
qyIds,
needInit,
})
}
- 自动生成的 adapter 文件自动导入
newApi,genNewRes等
//自动导入转换方法
import { genNewRes, invertMappings4Params } from '../utils/genNewRes'
//根据 步骤 1)自动导入controller对应的mappings
import * as queryAllProvince_GET_res from '../mappings/custom-manager-controller/queryAllProvince_GET/res'
import * as queryAllProvince_GET_req from '../mappings/custom-manager-controller/queryAllProvince_GET/req'
async function queryAllProvince_GET(params): Promise<QueryAllProvinceGETgetRes> {
const paramsMapping = invertMappings4Params(queryAllProvince_GET_req)
const newParams = genNewRes(params, paramsMapping)
// #######manual ######
// handler-Params
// #######manual ######
// #######queryAllProvince_GET begin######
//新接口传参顺序按照新接口swagger文档定义
const _result = await newApi.commonXzqhController.getAllProvince(newParams.qyIds, newParams.needInit)
genNewRes(_result, queryAllProvince_GET_res)
// #######queryAllProvince_GET end######
// #######manual ######
// handler-result
// #######manual ######
return _result
}
Readme
Keywords
nonePackage Sidebar
Install
Weekly Downloads