本项目基于@umijs/openapi 改造,如您不需要这些修改的功能,建议使用官方原版
- 修改 api 模板(对只有一种入参的情况简化显示)
- 新增 swr 模板(配合 swr.js 库)
- mock 生成 index 文件方便导出,添加 CJS 和 ES 两种模块风格;schema 中 response.content['application/json']放宽到 response.content[*/*]
- 新增一些自定义 mock 规则
属性 | 必填 | 备注 | 类型 |
---|---|---|---|
requestLibPath | 否 | 自定义请求方法路径 | string |
requestImportStatement | 否 | 自定义请求方法表达式 | string |
apiPrefix | 否 | api 的前缀 | string |
serversPath | 否 | 生成的文件夹的路径 | string |
schemaPath | 否 | openAPI 3.0 的地址 | string |
projectName | 否 | 项目名称 | string |
namespace | 否 | 命名空间名称 | string |
mockFolder | 否 | mock目录 | string |
属性 | 必填 | 备注 | 类型 |
---|---|---|---|
swrLibPath | 否 | swr库导入的路径 | string |
swrImportStatement | 否 | 自定义swr表达式 | string |
swrName | 否 | swr生成的文件夹名 | string |
mockModuleType | 否 | 用于生成 mock文件的module风格,默认 'ES' | 'CJS' | 'ES' |
await openAPI.generateService({
schemaPath: `${__dirname}/example-files/dorm.json`,
requestLibPath: "import http from '@/request'",
swrLibPath: "import useSWR from '@/libs/swr'",
serversPath: './servers',
swrName: 'data',
mockFolder: './mocks',
mockModuleType: 'CJS',
});