1.0.6 • Published 1 month ago

@shoppedance/openapi v1.0.6

Weekly downloads
-
License
MIT
Repository
-
Last release
1 month ago

介绍

根据 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.jsonscript 中添加 api: "openapi": "ts-node openapi.config.ts",

生成api

npm run openapi

参数

属性必填备注类型默认值
requestLibPath自定义请求方法路径string-
requestOptionsType自定义请求方法 options 参数类型string{key: string: any}
requestImportStatement自定义请求方法表达式string-
apiPrefixapi 的前缀string-
serversPath生成的文件夹的路径string-
schemaPathSwagger 2.0 或 OpenAPI 3.0 的地址string-
projectName项目名称string-
namespace命名空间名称stringAPI
mockFoldermock目录string-
enumStyle枚举样式string-literal | enumstring-literal
nullable使用null代替可选booleanfalse
dataFieldsresponse中数据字段string[]-
isCamelCase小驼峰命名文件和请求函数booleantrue
hook自定义 hookCustom 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[]自定义生成文件名,可返回多个,表示生成多个文件. 返回为空,则使用默认的获取方法获取