anl 26.106.1 → 26.107.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.ar.md +314 -51
- package/README.es.md +314 -51
- package/README.fr.md +369 -51
- package/README.jp.md +266 -35
- package/README.md +335 -38
- package/README.ru.md +266 -35
- package/README.zh.md +365 -60
- package/lib/package.json.js +1 -1
- package/lib/src/build-type/core/get-data.js +1 -1
- package/lib/src/build-type/core/path.js +1 -1
- package/lib/src/build-type/index.js +1 -1
- package/package.json +1 -1
package/README.jp.md
CHANGED
|
@@ -106,7 +106,7 @@ $ anl type
|
|
|
106
106
|
"saveApiListFolderPath": "apps/api/",
|
|
107
107
|
"saveEnumFolderPath": "apps/enums",
|
|
108
108
|
"importEnumPath": "../../enums",
|
|
109
|
-
"
|
|
109
|
+
"swaggerConfig": {
|
|
110
110
|
"url": "https://generator3.swagger.io/openapi2.json",
|
|
111
111
|
"apiListFileName": "index.ts",
|
|
112
112
|
"publicPrefix": "api",
|
|
@@ -160,7 +160,7 @@ $ anl type
|
|
|
160
160
|
"varnames": "enum-varnames",
|
|
161
161
|
"comment": "enum-descriptions"
|
|
162
162
|
},
|
|
163
|
-
"
|
|
163
|
+
"swaggerConfig": [
|
|
164
164
|
{
|
|
165
165
|
"url": "https://generator3.swagger.io/openapi1.json",
|
|
166
166
|
"apiListFileName": "op.ts",
|
|
@@ -178,30 +178,39 @@ $ anl type
|
|
|
178
178
|
|
|
179
179
|
#### 設定項目の説明
|
|
180
180
|
|
|
181
|
-
| 設定項目 | 型 | 必須 | 説明
|
|
182
|
-
|
|
|
183
|
-
| saveTypeFolderPath
|
|
184
|
-
| saveApiListFolderPath
|
|
185
|
-
| saveEnumFolderPath
|
|
186
|
-
| importEnumPath
|
|
187
|
-
| swaggerJsonUrl
|
|
188
|
-
|
|
|
189
|
-
|
|
|
190
|
-
|
|
|
191
|
-
|
|
|
192
|
-
|
|
|
193
|
-
|
|
|
194
|
-
| dataLevel
|
|
195
|
-
|
|
|
196
|
-
|
|
|
197
|
-
|
|
|
198
|
-
|
|
|
199
|
-
|
|
|
200
|
-
|
|
|
201
|
-
|
|
|
202
|
-
|
|
|
203
|
-
|
|
|
204
|
-
|
|
|
181
|
+
| 設定項目 | 型 | 必須 | 説明 |
|
|
182
|
+
| ---------------------------------- | ------------------------------------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
183
|
+
| saveTypeFolderPath | string | はい | 型定義ファイルの保存パス |
|
|
184
|
+
| saveApiListFolderPath | string | はい | API リクエスト関数ファイルの保存パス |
|
|
185
|
+
| saveEnumFolderPath | string | はい | 列挙データファイルの保存パス |
|
|
186
|
+
| importEnumPath | string | はい | 列挙型インポートパス(apps/types/models/\*.ts で enum ファイルを参照するパス) |
|
|
187
|
+
| swaggerJsonUrl | string | いいえ | Swagger JSON ドキュメントのアドレス(`swaggerConfig` に移行済み、旧版設定との互換性のため保持)**今後のバージョンでこのフィールドは削除されます** |
|
|
188
|
+
| swaggerConfig | object \| Array<object> | いいえ | Swagger サーバー設定。単一サーバーの場合は直接オブジェクトを記入、複数サーバーの場合は配列を使用。各サーバーで `url`、`publicPrefix`、`modulePrefix`、`apiListFileName`、`headers`、`dataLevel`、`parameterSeparator`、`includeInterface`、`excludeInterface` を設定可能<br />このフィールドは単一 Swagger サーバー設定と複数の Swagger サーバー設定の例に対応します。上にスクロールして確認してください |
|
|
189
|
+
| swaggerConfig[].url | string | はい | Swagger JSON ドキュメントのアドレス |
|
|
190
|
+
| swaggerConfig[].publicPrefix | string | いいえ | URL パス上の共通プレフィックス、例:api/users、api/users/{id}、api が共通プレフィックスです |
|
|
191
|
+
| swaggerConfig[].apiListFileName | string | いいえ | API リストファイル名、デフォルトは `index.ts`。複数サーバー使用時、各サーバーのファイル名は一意である必要があります |
|
|
192
|
+
| swaggerConfig[].headers | object | いいえ | このサーバーのリクエストヘッダー設定 |
|
|
193
|
+
| swaggerConfig[].modulePrefix | string | いいえ | リクエストパスのプレフィックス(モジュール名として理解できます)、各 API リクエストパスの前に自動的に追加されます。<br />例:`modulePrefix: "/forward"` の場合<br />`/publicPrefix/modulePrefix/user` は `/api/forward/user` になります |
|
|
194
|
+
| swaggerConfig[].dataLevel | 'data' \| 'serve' \| 'axios' | いいえ | このサーバーのインターフェースレスポンスデータのレベル。設定されていない場合、グローバル `dataLevel` 設定を使用します |
|
|
195
|
+
| swaggerConfig[].parameterSeparator | '$' \| '\_' | いいえ | このサーバーの API 名と型名を生成する際に使用される区切り文字。設定されていない場合、グローバル `parameterSeparator` 設定を使用します |
|
|
196
|
+
| swaggerConfig[].includeInterface | Array<{path: string, method: string}> | いいえ | このサーバーに含めるインターフェースのリスト。設定されていない場合、グローバル `includeInterface` 設定を使用します |
|
|
197
|
+
| swaggerConfig[].excludeInterface | Array<{path: string, method: string}> | いいえ | このサーバーから除外するインターフェースのリスト。設定されていない場合、グローバル `excludeInterface` 設定を使用します |
|
|
198
|
+
| requestMethodsImportPath | string | はい | リクエストメソッドのインポートパス |
|
|
199
|
+
| dataLevel | 'data' \| 'serve' \| 'axios' | いいえ | グローバルインターフェースレスポンスデータのレベル設定、デフォルト:`'serve'`。各サーバーで個別に上書き可能 |
|
|
200
|
+
| formatting | object | いいえ | コードフォーマット設定 |
|
|
201
|
+
| formatting.indentation | string | いいえ | コードインデント文字、例:`"\t"` または `" "` (2スペース) |
|
|
202
|
+
| formatting.lineEnding | string | いいえ | 改行、例:`"\n"` (LF) または `"\r\n"` (CRLF) |
|
|
203
|
+
| headers | object | いいえ | リクエストヘッダー設定(`swaggerConfig` に移行済み、旧版設定との互換性のため保持) |
|
|
204
|
+
| includeInterface | Array<{path: string, method: string}> | いいえ | グローバルに含めるインターフェース:`saveApiListFolderPath` で指定されたインターフェースリストファイルには、このリストに含まれるインターフェースのみが含まれます。`excludeInterface` フィールドと相互排他的です。各サーバーで個別に上書き可能 |
|
|
205
|
+
| excludeInterface | Array<{path: string, method: string}> | いいえ | グローバルに除外するインターフェース:`saveApiListFolderPath` で指定されたインターフェースリストテキストには、このリストに含まれないインターフェースが含まれます。`includeInterface` と相互排他的です。各サーバーで個別に上書き可能 |
|
|
206
|
+
| publicPrefix | string | いいえ | グローバル URL パス上の共通プレフィックス(`swaggerConfig` に移行済み、旧版設定との互換性のため保持) |
|
|
207
|
+
| modulePrefix | string | いいえ | グローバルリクエストパスのプレフィックス(各サーバーで個別に上書き可能) |
|
|
208
|
+
| apiListFileName | string | いいえ | グローバル API リストファイル名、デフォルトは `index.ts`(`swaggerConfig` に移行済み、旧版設定との互換性のため保持) |
|
|
209
|
+
| enmuConfig | object | はい | 列挙型設定オブジェクト |
|
|
210
|
+
| enmuConfig.erasableSyntaxOnly | boolean | はい | tsconfig.json の `compilerOptions.erasableSyntaxOnly` オプションと一致させます。`true` の場合、enum ではなく const オブジェクトを生成します(型のみの構文)。デフォルト値:`false` |
|
|
211
|
+
| enmuConfig.varnames | string | いいえ | Swagger schema フィールド名でカスタム列挙メンバー名用。デフォルト値:`enum-varnames`。 |
|
|
212
|
+
| enmuConfig.comment | string | いいえ | Swagger schema フィールド名で列挙メンバーの説明用(コメント生成に使用)。デフォルト値:`enum-descriptions`。 |
|
|
213
|
+
| parameterSeparator | '$' \| '\_' | いいえ | グローバル API 名と型名を生成する際に、パスセグメントとパラメータの間に使用される区切り文字。例えば、`/users/{userId}/posts` に区切り文字 `'_'` を使用すると `users_userId_posts_GET` が生成されます。デフォルト値:`'_'`。各サーバーで個別に上書き可能 |
|
|
205
214
|
|
|
206
215
|
#### 設定項目と生成ファイルの対応関係
|
|
207
216
|
|
|
@@ -255,6 +264,48 @@ export const userDetailGet = (params: UserDetail_GET.Query) => GET<UserDetail_GE
|
|
|
255
264
|
|
|
256
265
|
### 機能の説明
|
|
257
266
|
|
|
267
|
+
#### 設定の優先順位
|
|
268
|
+
|
|
269
|
+
ツールはグローバル設定とサーバーレベル設定をサポートし、以下の優先順位ルールに従います:
|
|
270
|
+
|
|
271
|
+
**優先順位:サーバーレベル設定 > グローバル設定 > デフォルト値**
|
|
272
|
+
|
|
273
|
+
以下の設定項目はサーバーレベルでグローバル設定を上書きすることをサポートしています:
|
|
274
|
+
|
|
275
|
+
- `dataLevel`: インターフェースレスポンスデータのレベル
|
|
276
|
+
- `parameterSeparator`: API 名と型名の区切り文字
|
|
277
|
+
- `includeInterface`: 含めるインターフェースのリスト
|
|
278
|
+
- `excludeInterface`: 除外するインターフェースのリスト
|
|
279
|
+
- `modulePrefix`: リクエストパスのプレフィックス
|
|
280
|
+
- `publicPrefix`: URL の共通プレフィックス
|
|
281
|
+
- `headers`: リクエストヘッダー設定
|
|
282
|
+
|
|
283
|
+
**例:**
|
|
284
|
+
|
|
285
|
+
```json
|
|
286
|
+
{
|
|
287
|
+
"dataLevel": "serve",
|
|
288
|
+
"parameterSeparator": "_",
|
|
289
|
+
"swaggerConfig": [
|
|
290
|
+
{
|
|
291
|
+
"url": "http://api1.example.com/swagger.json",
|
|
292
|
+
"dataLevel": "data",
|
|
293
|
+
"apiListFileName": "api1.ts"
|
|
294
|
+
},
|
|
295
|
+
{
|
|
296
|
+
"url": "http://api2.example.com/swagger.json",
|
|
297
|
+
"apiListFileName": "api2.ts"
|
|
298
|
+
}
|
|
299
|
+
]
|
|
300
|
+
}
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
上記の設定では:
|
|
304
|
+
|
|
305
|
+
- `api1.ts` は `dataLevel: "data"` を使用(サーバーレベル設定)
|
|
306
|
+
- `api2.ts` は `dataLevel: "serve"` を使用(グローバル設定)
|
|
307
|
+
- 両サーバーとも `parameterSeparator: "_"` を使用(グローバル設定)
|
|
308
|
+
|
|
258
309
|
#### 型解析
|
|
259
310
|
|
|
260
311
|
- すべての OpenAPI 3.0 仕様のデータ型をサポート
|
|
@@ -305,6 +356,73 @@ interface User {
|
|
|
305
356
|
}
|
|
306
357
|
```
|
|
307
358
|
|
|
359
|
+
#### データレベル設定(dataLevel)
|
|
360
|
+
|
|
361
|
+
`dataLevel` は、インターフェースレスポンスデータの抽出レベルを設定するために使用され、3つのオプションをサポートしています:
|
|
362
|
+
|
|
363
|
+
1. **`'serve'`(デフォルト)**:サーバーレスポンスから `data` フィールドを抽出
|
|
364
|
+
|
|
365
|
+
```typescript
|
|
366
|
+
// サーバーが返す: { code: 200, message: 'success', data: { id: 1, name: 'user' } }
|
|
367
|
+
// 関数が返す: { id: 1, name: 'user' }
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
2. **`'data'`**:`data.data` フィールドを抽出(ネストされたデータのシナリオに適用)
|
|
371
|
+
|
|
372
|
+
```typescript
|
|
373
|
+
// サーバーが返す: { data: { code: 200, data: { id: 1, name: 'user' } } }
|
|
374
|
+
// 関数が返す: { id: 1, name: 'user' }
|
|
375
|
+
```
|
|
376
|
+
|
|
377
|
+
3. **`'axios'`**:完全な axios レスポンスオブジェクトを返す
|
|
378
|
+
```typescript
|
|
379
|
+
// サーバーが返す: { code: 200, message: 'success', data: { id: 1, name: 'user' } }
|
|
380
|
+
// 関数が返す: { code: 200, message: 'success', data: { id: 1, name: 'user' } }
|
|
381
|
+
```
|
|
382
|
+
|
|
383
|
+
**設定例:**
|
|
384
|
+
|
|
385
|
+
```json
|
|
386
|
+
{
|
|
387
|
+
"dataLevel": "serve",
|
|
388
|
+
"swaggerConfig": [
|
|
389
|
+
{
|
|
390
|
+
"url": "http://api1.example.com/swagger.json",
|
|
391
|
+
"dataLevel": "data"
|
|
392
|
+
}
|
|
393
|
+
]
|
|
394
|
+
}
|
|
395
|
+
```
|
|
396
|
+
|
|
397
|
+
> **注意**:サーバーレベルの `dataLevel` 設定はグローバル設定を上書きします。
|
|
398
|
+
|
|
399
|
+
#### コードフォーマット
|
|
400
|
+
|
|
401
|
+
ツールはカスタムコードフォーマットオプションをサポートし、`formatting` 設定で制御します:
|
|
402
|
+
|
|
403
|
+
**設定例:**
|
|
404
|
+
|
|
405
|
+
```json
|
|
406
|
+
{
|
|
407
|
+
"formatting": {
|
|
408
|
+
"indentation": "\t",
|
|
409
|
+
"lineEnding": "\n"
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
```
|
|
413
|
+
|
|
414
|
+
**設定説明:**
|
|
415
|
+
|
|
416
|
+
- `indentation`: コードインデント文字
|
|
417
|
+
- `"\t"`: Tab インデントを使用(デフォルト)
|
|
418
|
+
- `" "`: 2 スペースのインデントを使用
|
|
419
|
+
- `" "`: 4 スペースのインデントを使用
|
|
420
|
+
- `lineEnding`: 改行タイプ
|
|
421
|
+
- `"\n"`: LF(Linux/macOS スタイル、推奨)
|
|
422
|
+
- `"\r\n"`: CRLF(Windows スタイル)
|
|
423
|
+
|
|
424
|
+
**注意:** プロジェクトに Prettier が設定されている場合、生成されたコードは自動的に Prettier でフォーマットされ、`formatting` 設定は Prettier によって上書きされる可能性があります。
|
|
425
|
+
|
|
308
426
|
#### ファイルアップロード
|
|
309
427
|
|
|
310
428
|
ファイルアップロード型が検出されると、対応するリクエストヘッダーが自動的に追加されます:
|
|
@@ -363,8 +481,8 @@ export const uploadFile = (params: UploadFile.Body) =>
|
|
|
363
481
|
|
|
364
482
|
ツールは複数の Swagger サーバーの設定をサポートしており、各サーバーは独立して設定できます:
|
|
365
483
|
|
|
366
|
-
- **単一サーバー**:`
|
|
367
|
-
- **複数サーバー**:`
|
|
484
|
+
- **単一サーバー**:`swaggerConfig` は直接オブジェクトとして記入可能
|
|
485
|
+
- **複数サーバー**:`swaggerConfig` は配列形式を使用し、各サーバーは一意の `apiListFileName` を設定する必要があります
|
|
368
486
|
|
|
369
487
|
**動作原理:**
|
|
370
488
|
|
|
@@ -372,23 +490,78 @@ export const uploadFile = (params: UploadFile.Body) =>
|
|
|
372
490
|
- 後続のサーバーの API はそれぞれの `apiListFileName` ファイルに追加されます
|
|
373
491
|
- 型定義と列挙型は統一されたフォルダにマージされ、重複を避けます
|
|
374
492
|
|
|
493
|
+
**サーバーレベル設定:**
|
|
494
|
+
|
|
495
|
+
各サーバーは以下のオプションを独立して設定することをサポートしています。設定されていない場合、グローバル設定が使用されます:
|
|
496
|
+
|
|
497
|
+
- `dataLevel` - インターフェースレスポンスデータのレベル
|
|
498
|
+
- `parameterSeparator` - API 名と型名の区切り文字
|
|
499
|
+
- `includeInterface` - 含めるインターフェースのリスト
|
|
500
|
+
- `excludeInterface` - 除外するインターフェースのリスト
|
|
501
|
+
- `modulePrefix` - リクエストパスのプレフィックス
|
|
502
|
+
|
|
503
|
+
#### パスプレフィックス(modulePrefix)
|
|
504
|
+
|
|
505
|
+
`modulePrefix` はすべての API リクエストパスの前にプレフィックスを自動的に追加するために使用され、以下のシナリオで特に役立ちます:
|
|
506
|
+
|
|
507
|
+
1. **リバースプロキシシナリオ**:バックエンドサービスがリバースプロキシ経由で転送される場合
|
|
508
|
+
2. **API ゲートウェイ**:パスに統一的にゲートウェイプレフィックスを追加
|
|
509
|
+
3. **マルチ環境設定**:異なる環境で異なるパスプレフィックスを使用
|
|
510
|
+
|
|
511
|
+
**使用例:**
|
|
512
|
+
|
|
513
|
+
```json
|
|
514
|
+
{
|
|
515
|
+
"swaggerConfig": [
|
|
516
|
+
{
|
|
517
|
+
"url": "http://api.example.com/swagger.json",
|
|
518
|
+
"modulePrefix": "/forward",
|
|
519
|
+
"apiListFileName": "api.ts"
|
|
520
|
+
}
|
|
521
|
+
]
|
|
522
|
+
}
|
|
523
|
+
```
|
|
524
|
+
|
|
525
|
+
**効果:**
|
|
526
|
+
|
|
527
|
+
Swagger で定義されたパス `/api/user/list` は次のように生成されます:
|
|
528
|
+
|
|
529
|
+
```typescript
|
|
530
|
+
export const apiUserListGet = (params: ApiUserList_GET.Query) => GET<ApiUserList_GET.Response>('/forward/api/user/list', params);
|
|
531
|
+
```
|
|
532
|
+
|
|
533
|
+
**publicPrefix との違い:**
|
|
534
|
+
|
|
535
|
+
- `publicPrefix`: インターフェースパスからプレフィックスを削除し、生成される関数名にのみ影響します
|
|
536
|
+
- `modulePrefix`: 実際のリクエストパスの前にプレフィックスを追加し、実行時のリクエスト URL に影響します
|
|
537
|
+
|
|
375
538
|
**設定例:**
|
|
376
539
|
|
|
377
540
|
```json
|
|
378
541
|
{
|
|
379
|
-
"
|
|
542
|
+
"swaggerConfig": [
|
|
380
543
|
{
|
|
381
544
|
"url": "http://api1.example.com/swagger.json",
|
|
382
545
|
"apiListFileName": "api1.ts",
|
|
383
546
|
"publicPrefix": "/api/v1",
|
|
547
|
+
"modulePrefix": "/forward",
|
|
548
|
+
"dataLevel": "serve",
|
|
549
|
+
"parameterSeparator": "_",
|
|
384
550
|
"headers": {
|
|
385
551
|
"Authorization": "Bearer token1"
|
|
386
|
-
}
|
|
552
|
+
},
|
|
553
|
+
"includeInterface": [
|
|
554
|
+
{
|
|
555
|
+
"path": "/api/v1/users",
|
|
556
|
+
"method": "get"
|
|
557
|
+
}
|
|
558
|
+
]
|
|
387
559
|
},
|
|
388
560
|
{
|
|
389
561
|
"url": "http://api2.example.com/swagger.json",
|
|
390
562
|
"apiListFileName": "api2.ts",
|
|
391
563
|
"publicPrefix": "/api/v2",
|
|
564
|
+
"dataLevel": "data",
|
|
392
565
|
"headers": {
|
|
393
566
|
"Authorization": "Bearer token2"
|
|
394
567
|
}
|
|
@@ -401,7 +574,7 @@ export const uploadFile = (params: UploadFile.Body) =>
|
|
|
401
574
|
|
|
402
575
|
- 旧版設定(`swaggerJsonUrl`、`publicPrefix`、`headers`)は引き続き互換性があります
|
|
403
576
|
- ツールは自動的に旧版設定を検出し、移行方法を提示します
|
|
404
|
-
- より柔軟性を得るために、新しい `
|
|
577
|
+
- より柔軟性を得るために、新しい `swaggerConfig` 設定への移行をお勧めします
|
|
405
578
|
|
|
406
579
|
#### HTTP メソッドサポート
|
|
407
580
|
|
|
@@ -422,21 +595,79 @@ export const uploadFile = (params: UploadFile.Body) =>
|
|
|
422
595
|
|
|
423
596
|
1. Swagger JSON ドキュメントのアドレスにアクセスできることを確認してください
|
|
424
597
|
2. 設定ファイル内のパスは、プロジェクトルートディレクトリからの相対パスである必要があります
|
|
425
|
-
3.
|
|
598
|
+
3. 生成されたファイルは、既存の同名ファイルを上書きします(ただし、`config.ts`、`error-message.ts`、`fetch.ts`、`api-type.d.ts` は既に存在する場合は上書きされません)
|
|
426
599
|
4. 生成されたファイルをバージョン管理に含めることをお勧めします
|
|
427
600
|
5. 複数の Swagger サーバーを使用する場合、各サーバーの `apiListFileName` が一意であることを確認し、ファイルの上書きを避けてください
|
|
428
601
|
6. 複数のサーバー設定を使用する場合、型定義と列挙型はマージされます。異なるサーバーに同じ名前の型がある場合、競合が発生する可能性があります
|
|
602
|
+
7. サーバーレベルの設定(`dataLevel`、`parameterSeparator`、`includeInterface`、`excludeInterface`、`modulePrefix`)はグローバル設定を上書きします
|
|
603
|
+
8. `includeInterface` と `excludeInterface` は同時に設定できません。両方が設定された場合、`includeInterface` が優先されます
|
|
429
604
|
|
|
430
605
|
### よくある質問
|
|
431
606
|
|
|
432
|
-
1.
|
|
607
|
+
1. **生成された型ファイルのフォーマットが失敗する**
|
|
433
608
|
- prettier がインストールされているか確認してください
|
|
434
609
|
- プロジェクトルートディレクトリに prettier 設定ファイルがあるか確認してください
|
|
610
|
+
- `formatting` 設定が正しいか確認してください
|
|
435
611
|
|
|
436
|
-
2.
|
|
437
|
-
- requestMethodsImportPath 設定が正しいか確認してください
|
|
612
|
+
2. **リクエスト関数のインポートパスエラー**
|
|
613
|
+
- `requestMethodsImportPath` 設定が正しいか確認してください
|
|
438
614
|
- リクエストメソッドファイルが存在するか確認してください
|
|
439
615
|
|
|
616
|
+
3. **いつ `modulePrefix` を使用しますか?**
|
|
617
|
+
- API がリバースプロキシまたはゲートウェイ経由でアクセスされる必要がある場合
|
|
618
|
+
- 例:Swagger では `/api/user` と定義されていますが、実際のリクエストは `/gateway/api/user` である必要があります
|
|
619
|
+
- `modulePrefix: "/gateway"` を設定することで実現できます
|
|
620
|
+
|
|
621
|
+
4. **`publicPrefix` と `modulePrefix` の違いは何ですか?**
|
|
622
|
+
- `publicPrefix`: インターフェースパスからプレフィックスを削除し、生成される関数名にのみ影響します
|
|
623
|
+
- 例:`/api/user/list` から `/api` を削除すると、関数名は `userListGet` になります
|
|
624
|
+
- `modulePrefix`: リクエストパスの前にプレフィックスを追加し、実際のリクエスト URL に影響します
|
|
625
|
+
- 例:`/api/user/list` に `/forward` を追加すると、リクエスト URL は `/forward/api/user/list` になります
|
|
626
|
+
|
|
627
|
+
5. **複数のサーバーで異なる `dataLevel` を設定するには?**
|
|
628
|
+
|
|
629
|
+
```json
|
|
630
|
+
{
|
|
631
|
+
"dataLevel": "serve",
|
|
632
|
+
"swaggerConfig": [
|
|
633
|
+
{
|
|
634
|
+
"url": "http://old-api.com/swagger.json",
|
|
635
|
+
"dataLevel": "axios",
|
|
636
|
+
"apiListFileName": "old-api.ts"
|
|
637
|
+
},
|
|
638
|
+
{
|
|
639
|
+
"url": "http://new-api.com/swagger.json",
|
|
640
|
+
"apiListFileName": "new-api.ts"
|
|
641
|
+
}
|
|
642
|
+
]
|
|
643
|
+
}
|
|
644
|
+
```
|
|
645
|
+
|
|
646
|
+
- `old-api.ts` は `dataLevel: "axios"` を使用
|
|
647
|
+
- `new-api.ts` はグローバルの `dataLevel: "serve"` を使用
|
|
648
|
+
|
|
649
|
+
6. **特定のインターフェースのみを生成するには?**
|
|
650
|
+
- `includeInterface` 設定を使用:
|
|
651
|
+
```json
|
|
652
|
+
{
|
|
653
|
+
"swaggerConfig": [
|
|
654
|
+
{
|
|
655
|
+
"url": "http://api.com/swagger.json",
|
|
656
|
+
"includeInterface": [
|
|
657
|
+
{ "path": "/api/user", "method": "get" },
|
|
658
|
+
{ "path": "/api/user/{id}", "method": "post" }
|
|
659
|
+
]
|
|
660
|
+
}
|
|
661
|
+
]
|
|
662
|
+
}
|
|
663
|
+
```
|
|
664
|
+
- または `excludeInterface` を使用して不要なインターフェースを除外
|
|
665
|
+
|
|
666
|
+
7. **生成されたファイルが上書きされた場合はどうすればよいですか?**
|
|
667
|
+
- `config.ts`、`error-message.ts`、`fetch.ts`、`api-type.d.ts` などのファイルは、存在しない場合にのみ生成されます
|
|
668
|
+
- API リストファイルと型ファイルは毎回再生成されます
|
|
669
|
+
- 生成されたファイルをバージョン管理に追加して、変更を追跡しやすくすることをお勧めします
|
|
670
|
+
|
|
440
671
|
# `anl lint` コマンド使用方法
|
|
441
672
|
|
|
442
673
|
> フロントエンドプロジェクトの各種 lint ツールをワンクリックで設定する機能を提供します:
|