File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1- # SwaggerGen
1+ # API Codegen
22
3- SwaggerGen 用于把 DataModel 应用到接口自动化管理,根据 Swagger / OpenAPI 文档生成 TypeScript 类型和业务 Api。
3+ API Codegen 是 DataModel 的自动化生成工具。
4+
5+ 它根据 Swagger / OpenAPI 文档生成:
6+
7+ - TypeScript 类型
8+ - 业务 Api 模块
9+ - Resource 请求代码
10+ - 模块导出文件
11+
12+ 生成结果遵循 DataModel 的 Resource → Api 模型。
413
514## 配置
615
7- 推荐在项目根目录创建 :
16+ 创建 :
817
918``` text
1019api-datamodel.config.mjs
1120```
1221
22+ 示例:
23+
1324``` js
14- /** @type {import('api-datamodel/swagger/config').ApiDatamodelConfig} */
1525export default {
1626 output: ' src/api' ,
1727 httpPath: ' @/api/dataModel' ,
1828 httpModule: ' createApi' ,
29+
1930 generator: {
2031 cleanOutput: true ,
2132 modular: true ,
2233 routeTypes: true ,
2334 },
35+
2436 apis: {
2537 sys: {
2638 description: ' 系统管理' ,
27- url: ' http://127.0.0.1:8080/v3/api-docs/系统管理 ' ,
39+ url: ' http://127.0.0.1:8080/v3/api-docs/sys ' ,
2840 folder: ' sys' ,
2941 },
3042 },
3143}
3244```
3345
34- ## 生成命令
46+ ## 生成
3547
36- 在 ` package.json ` 中加入 :
48+ package.json:
3749
3850``` json
3951{
@@ -48,21 +60,36 @@ export default {
4860
4961``` bash
5062pnpm genApi
63+
5164pnpm genApi:sys
5265```
5366
54- 也可以直接传入文档地址 :
67+ 也可以直接指定 :
5568
5669``` bash
5770npx api-datamodel-swagger < 文档地址> < 输出目录> [业务前缀]
5871```
5972
60- 查看完整帮助 :
73+ 查看帮助 :
6174
6275``` bash
6376npx api-datamodel-swagger --help
6477```
6578
66- ::: warning
67- 开启 ` cleanOutput ` 后会清理对应输出目录,不要在自动生成目录中手写业务代码。
68- :::
79+ ## 生成目录
80+
81+ 推荐将生成代码作为接口文档的同步结果:
82+
83+ ``` text
84+ src/api/
85+ ├─ sys/
86+ │ ├─ User.ts
87+ │ └─ index.ts
88+ └─ dataModel.ts
89+ ```
90+
91+ 不要直接在生成目录中编写业务逻辑,避免重新生成时覆盖。
92+
93+ ## 注意
94+
95+ 开启 ` cleanOutput ` 后会清理对应输出目录,请确认该目录只包含自动生成文件。
You can’t perform that action at this time.
0 commit comments