{"_rev":"4-5d3ee56fa80192e6bbd55b25c9342575","time":{"created":"2026-04-28T03:37:14.629Z","modified":"2026-04-28T03:37:15.157Z","1.0.0":"2026-04-28T03:26:50.054Z","1.0.1":"2026-04-28T03:37:14.908Z"},"_id":"@abcd-npm/openapi","name":"@abcd-npm/openapi","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.1":{"name":"@abcd-npm/openapi","version":"1.0.1","description":"根据 [OpenApi3](https://swagger.io/blog/news/whats-new-in-openapi-3-0/) 文档生成 request 请求代码。","repository":{"type":"git"},"license":"MIT","main":"dist/index.js","bin":{"openapi2ts":"dist/cli.js"},"scripts":{"build":"tsc","localConvert4Project":"rm -rf ./test/servers/ ./test/file-servers/ &&  npm run build && cd ./test && node ./test.js && cd .. && rm -rf /Users/fd/wj/psp-web-pro/src/services/wj && mv ./test/servers/api/  /Users/fd/wj/psp-web-pro/src/services/wj","prepublishOnly":"npm run build","start":"tsc -w","test":"rm -rf ./test/servers/ ./test/servers-allof/ ./test/file-servers/ &&  npm run build && cd ./test && node ./test.js && cd ..","test:windows":"rimraf ./test/servers/ ./test/servers-allof/ ./test/file-servers/ && npm run build && cd ./test && ts-node ./test.js --project tsconfig.json && cd .."},"dependencies":{"chalk":"^4.1.2","cosmiconfig":"^9.0.0","dayjs":"^1.10.3","glob":"^7.1.6","lodash":"^4.17.21","memoizee":"^0.4.15","mock.js":"^0.2.0","mockjs":"^1.1.0","node-fetch":"^2.6.1","nunjucks":"^3.2.2","openapi3-ts":"^2.0.1","prettier":"^2.2.1","reserved-words":"^0.1.2","rimraf":"^3.0.2","swagger2openapi":"^7.0.4","tiny-pinyin":"^1.3.2"},"devDependencies":{"@types/node":"^14.14.22","np":"^7.2.0","tslib":"^2.6.0","typescript":"^4.1.3"},"_id":"@abcd-npm/openapi@1.0.1","gitHead":"a436b7dd254f998b7e2b1b884b6e79288784711b","types":"./dist/index.d.ts","_nodeVersion":"22.11.0","_npmVersion":"10.9.0","dist":{"integrity":"sha512-9iEf7mUUSoLGA+cnDIvXEbLYuxrg3RBFozUweAwNh4+RivxdoSTGOr7S8Mi+Vb7DtIL6mamfeIxgGAb+hfZECg==","shasum":"cb7b39047fec8d0a5ed8573d4b83ec1bfcb8150f","tarball":"https://registry.npmjs.org/@abcd-npm/openapi/-/openapi-1.0.1.tgz","fileCount":23,"unpackedSize":109671,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEjyobBts3d9BAvRNdXgNuKAm1SNKSD8T6ip9WfvYLK3AiBPT7sHJFhehNZ0EXiWCeN88VuPDUm0949evfMYLbXYMw=="}]},"_npmUser":{"name":"abcd-npm","email":"593213753@qq.com"},"directories":{},"maintainers":[{"name":"abcd-npm","email":"593213753@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/openapi_1.0.1_1777347434753_0.020830633508507335"},"_hasShrinkwrap":false}},"maintainers":[{"name":"abcd-npm","email":"593213753@qq.com"}],"description":"根据 [OpenApi3](https://swagger.io/blog/news/whats-new-in-openapi-3-0/) 文档生成 request 请求代码。","repository":{"type":"git"},"license":"MIT","readme":"## 介绍\n\n根据 [OpenApi3](https://swagger.io/blog/news/whats-new-in-openapi-3-0/) 文档生成 request 请求代码。\n\n你可以使用[@abcd-npm/openapi] 插件。\n\n## 使用\n\n```bash\nnpm i --save-dev @abcd-npm/openapi\n```\n\n在项目根目录新建 `openapi2ts.config.ts` 或者 `.openapi2tsrc.ts`\n\n> 配置文件还支持 **_openapi2ts.config.ts_**, **_.openapi2tsrc.json_** 等格式，参考 [cosmiconfig](https://github.com/cosmiconfig/cosmiconfig?tab=readme-ov-file#cosmiconfig)\n\n```ts\nexport default {\n  schemaPath: 'http://petstore.swagger.io/v2/swagger.json',\n  serversPath: './servers',\n};\n```\n\n如果单个项目有多个生成需求，支持传入数组配置\n\n```ts\nexport default [\n  {\n    schemaPath: 'http://app.swagger.io/v2/swagger.json',\n    serversPath: './servers/app',\n  },\n  {\n    schemaPath: 'http://auth.swagger.io/v2/swagger.json',\n    serversPath: './servers/auth',\n  },\n];\n```\n\n在 `package.json` 的 `script` 中添加 api: `\"openapi2ts\": \"openapi2ts\",`\n\n生成 api\n\n```bash\nnpm run openapi2ts\n```\n\n## 参数\n\n| 属性 | 必填 | 备注 | 类型 | 默认值 |\n| --- | --- | --- | --- | --- |\n| requestLibPath | 否 | 自定义请求方法路径 | string | - |\n| requestOptionsType | 否 | 自定义请求方法 options 参数类型 | string | {[key: string]: any} |\n| requestImportStatement | 否 | 自定义请求方法表达式 | string | - |\n| apiPrefix | 否 | api 的前缀 | string | - |\n| serversPath | 否 | 生成的文件夹的路径 | string | - |\n| schemaPath | 否 | Swagger 2.0 或 OpenAPI 3.0 的地址 | string | - |\n| projectName | 否 | 项目名称 | string | - |\n| authorization | 否 | 文档登录凭证 | string | - |\n| namespace | 否 | 命名空间名称 | string | API |\n| mockFolder | 否 | mock 目录 | string | - |\n| enumStyle | 否 | 枚举样式 | string-literal \\| enum | string-literal |\n| nullable | 否 | 使用 null 代替可选 | boolean | false |\n| dataFields | 否 | response 中数据字段 | string[] | - |\n| isCamelCase | 否 | 小驼峰命名文件和请求函数 | boolean | true |\n| hook | 否 | 自定义 hook | [Custom Hook](#Custom-Hook) | - |\n| mockApiPrefix | 否 | mock 生成的 api 的前缀 | string | - |\n\n## Custom Hook\n\n| 属性 | 类型 | 说明 |\n| --- | --- | --- |\n| afterOpenApiDataInited | (openAPIData: OpenAPIObject) => OpenAPIObject | - |\n| customFunctionName | (data: APIDataType) => string | 自定义请求方法函数名称 |\n| customTypeName | (data: APIDataType) => string | 自定义类型名称 |\n| customClassName | (tagName: string) => string | 自定义类名 |\n| customType | (<br>schemaObject: SchemaObject \\| undefined,<br>namespace: string,<br>originGetType:(schemaObject: SchemaObject \\| undefined, namespace: string) => string,<br>) => string | 自定义获取类型 <br> _返回非字符串将使用默认方法获取 type_ |\n| customFileNames | (<br>operationObject: OperationObject,<br>apiPath: string,<br>\\_apiMethod: string,<br>) => string[] | 自定义生成文件名，可返回多个，表示生成多个文件. <br> _返回为空，则使用默认的获取方法获取_ |\n","readmeFilename":"README.md"}