Package Exports
- @jp-axios/api
Readme
@jp-axios/api
@jp-axios/api 是一个根据提供的配置, 自动生成 API
模块的工具.
Generate api via swagger scheme.
Supports OA 3.0, 2.0, JSON, yaml
Generated api module @jp-axios/core to make requests.
非常简单的帮助你生成typeScript api模块
(支持 swagger2.0 和 OpenApi 3.0 规范)
玩得开心 ^_^
Why
安装
$ npm install @jp-liu/api --save-dev
# or
$ pnpm install @jp-liu/api --save-dev
# or
$ yarn add @jp-liu/api --save-dev
如何使用
如果你没有全局安装, 那么可以使用 npx
或者 pnpx
工具辅助执行
$ npx jp-api
# or
$ pnpx jp-api
你也可以将它加入你的 package.json
作为脚本命令
{
"scripts": {
"jp-api": "jp-api",
// ...
}
}
也支持在 node
中, 扩展,自行运行
import { generate } from '@jp-liu/api'
const config = {
// ...
}
generate(config)
配置信息
配置我们可以写在 package.json
中, 也可以在根目录创建 jp-api.config.js/json
字段 | 描述( 入口支持数组形式 ) |
---|---|
input | 直接提供入口文件, 支持 json yaml 可以让后端生成, 参考入参一 |
url | 后端 GitHub 仓库地址, 或者是开启的 swagger 网页的接口信息, 参考入参二 |
overwrite | 默认值: false 是否覆盖基础模板, 由于提供的基础模板是会产生修改的部分, 如果接口更新,需要重新生成, 则由该开关控制是否将通用部分覆盖 |
示例:
入参一:
当
input
为多个的时候,dirName
和path
参数都是必传的, 我们需要知道他们是所处的模块.
output
推荐输入一个,这样内部会帮你在同一文件夹导出不同模块的模板, 文件夹名字将会是input
对应模块的dirName
{ "jp-api": { // "input": "./src/api/swagger.json", // or "./src/api/swagger.yaml" "input": [ { "dirName": "test1", "path": "./src/api/swagger.json" }, { "dirName": "test2", "path": "./src/api/swagger.yaml" } ], "output": "./src/api" } }
json
如: swagger.jsonyaml
如: swagger.yaml入参二:
{ "jp-api": { // "url": "http://xxx:8080/xxx-server/v2/api-docs" // or 'git' "url": [ { "dirName": "test1", "path": "http://xxx:8080/xxx-server/v2/api-docs", }, { "dirName": "test2", "path": "http://xxx:8080/xxx-server/v2/api-docs1", }, ], "output": "./src/api" } }
url
:http://xxx:8080/xxx-server/v2/api-docs?
是后端同事开的swagger
文档地址请求的api
内容,如