基于 Swagger/OpenAPI 规范自动生成生产级 SDK 的工具, 目前支持以下语言:
有如下 sdk 使用该工具自动生成。
二进制安装 [荐]
curl https://cnb.cool/cnb/sdk/cnb-sdk-generator/-/git/raw/master/install.sh -sSfL | sh
使用 golang 安装
go install cnb.cool/cnb/sdk/cnb-sdk-generator
从本地文件生成 cnb-sdk-generator -i swagger.json -o ./sdk 从远程URL生成 cnb-sdk-generator -i https://api.example.com/swagger.json -o ./generated 使用自定义配置 cnb-sdk-generator -i swagger.json -o ./sdk -e config.yaml
如果有些 api 的原始定义有些问题,你修改它的默认行为,那么进行如下自定配置 config.yaml
paths:
/api/v1/users/{id}:
GET:
ignore: true # 忽略这个 API
form_to_body: true # 强制将 formData 定义的参数转换为 body 类型的调用方式,默认为 false, 比如 gitee 的 swagger 文件明明定义的是 formdata,实际调用却要使用 body 😅 😅 😅 😅
params:
query: # 查询参数配置
page_size: # 原始参数名
rename: "pageSize" # 重命名后的参数名
models:
dto.Repos4User:
type_overrides:
visibility_level: "string" # 重写 dto.Repos4User.visibility_level 的类型为 string
本项目采用 MIT 许可证