1.0.11 • Published 1 year ago
@shoppedance/openapi v1.0.11
介绍
根据 OpenApi3 文档生成 request 请求代码。
使用
npm i --save-dev @shoppedance/openapi在项目根目录新建 openapi.config.ts
const { generateService } = require('@shoppedance/openapi')
generateService({
schemaPath: 'http://petstore.swagger.io/v2/swagger.json',
serversPath: './servers',
})在 package.json 的 script 中添加 api: "openapi": "ts-node openapi.config.ts",
生成api
npm run openapi参数
| 属性 | 必填 | 备注 | 类型 | 默认值 |
|---|---|---|---|---|
| requestLibPath | 否 | 自定义请求方法路径 | string | - |
| requestOptionsType | 否 | 自定义请求方法 options 参数类型 | string | {key: string: any} |
| requestImportStatement | 否 | 自定义请求方法表达式 | string | - |
| apiPrefix | 否 | api 的前缀 | string | - |
| serversPath | 否 | 生成的文件夹的路径 | string | - |
| schemaPath | 否 | Swagger 2.0 或 OpenAPI 3.0 的地址 | string | - |
| projectName | 否 | 项目名称 | string | - |
| namespace | 否 | 命名空间名称 | string | API |
| mockFolder | 否 | mock目录 | string | - |
| enumStyle | 否 | 枚举样式 | string-literal | enum | string-literal |
| nullable | 否 | 使用null代替可选 | boolean | false |
| dataFields | 否 | response中数据字段 | string[] | - |
| isCamelCase | 否 | 小驼峰命名文件和请求函数 | boolean | true |
| hook | 否 | 自定义 hook | Custom Hook | - |
Custom Hook
| 属性 | 类型 | 说明 |
|---|---|---|
| afterOpenApiDataInited | (openAPIData: OpenAPIObject) => OpenAPIObject | - |
| customFunctionName | (data: OperationObject) => string | 自定义请求方法路径 |
| customTypeName | (data: OperationObject) => string | 自定义函数名称 |
| customClassName | (tagName: string) => string | 自定义类型名称 |
| customType | (schemaObject: SchemaObject | undefined,namespace: string,originGetType:(schemaObject: SchemaObject | undefined, namespace: string) => string,) => string | 自定义获取类型 返回非字符串将使用默认方法获取type |
| customFileNames | (operationObject: OperationObject,apiPath: string,_apiMethod: string,) => string[] | 自定义生成文件名,可返回多个,表示生成多个文件. 返回为空,则使用默认的获取方法获取 |