anl 26.107.0 → 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 +59 -59
- package/README.es.md +59 -59
- package/README.fr.md +106 -106
- package/README.jp.md +56 -56
- package/README.md +131 -67
- package/README.ru.md +56 -56
- package/README.zh.md +144 -78
- 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.ar.md
CHANGED
|
@@ -113,11 +113,11 @@ $ anl type
|
|
|
113
113
|
"indentation": "\t",
|
|
114
114
|
"lineEnding": "\n"
|
|
115
115
|
},
|
|
116
|
-
"
|
|
116
|
+
"swaggerConfig": {
|
|
117
117
|
"url": "https://generator3.swagger.io/openapi2.json",
|
|
118
118
|
"apiListFileName": "index.ts",
|
|
119
119
|
"publicPrefix": "/api",
|
|
120
|
-
"
|
|
120
|
+
"modulePrefix": "/gateway",
|
|
121
121
|
"dataLevel": "serve",
|
|
122
122
|
"parameterSeparator": "_",
|
|
123
123
|
"headers": {
|
|
@@ -158,11 +158,11 @@ $ anl type
|
|
|
158
158
|
"varnames": "enum-varnames",
|
|
159
159
|
"comment": "enum-descriptions"
|
|
160
160
|
},
|
|
161
|
-
"
|
|
161
|
+
"swaggerConfig": [
|
|
162
162
|
{
|
|
163
163
|
"url": "https://generator3.swagger.io/openapi1.json",
|
|
164
164
|
"apiListFileName": "op.ts",
|
|
165
|
-
"
|
|
165
|
+
"modulePrefix": "/forward",
|
|
166
166
|
"dataLevel": "serve",
|
|
167
167
|
"parameterSeparator": "_",
|
|
168
168
|
"headers": {},
|
|
@@ -186,39 +186,39 @@ $ anl type
|
|
|
186
186
|
|
|
187
187
|
#### شرح عناصر التكوين
|
|
188
188
|
|
|
189
|
-
| عنصر التكوين
|
|
190
|
-
|
|
|
191
|
-
| saveTypeFolderPath
|
|
192
|
-
| saveApiListFolderPath
|
|
193
|
-
| saveEnumFolderPath
|
|
194
|
-
| importEnumPath
|
|
195
|
-
| swaggerJsonUrl
|
|
196
|
-
|
|
|
197
|
-
|
|
|
198
|
-
|
|
|
199
|
-
|
|
|
200
|
-
|
|
|
201
|
-
|
|
|
202
|
-
|
|
|
203
|
-
|
|
|
204
|
-
|
|
|
205
|
-
|
|
|
206
|
-
| requestMethodsImportPath
|
|
207
|
-
| dataLevel
|
|
208
|
-
| formatting
|
|
209
|
-
| formatting.indentation
|
|
210
|
-
| formatting.lineEnding
|
|
211
|
-
| headers
|
|
212
|
-
| includeInterface
|
|
213
|
-
| excludeInterface
|
|
214
|
-
| publicPrefix
|
|
215
|
-
|
|
|
216
|
-
| apiListFileName
|
|
217
|
-
| enmuConfig
|
|
218
|
-
| enmuConfig.erasableSyntaxOnly
|
|
219
|
-
| enmuConfig.varnames
|
|
220
|
-
| enmuConfig.comment
|
|
221
|
-
| parameterSeparator
|
|
189
|
+
| عنصر التكوين | النوع | مطلوب | الوصف |
|
|
190
|
+
| ---------------------------------- | ------------------------------------- | ----- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
191
|
+
| saveTypeFolderPath | string | نعم | مسار حفظ ملفات تعريف الأنواع |
|
|
192
|
+
| saveApiListFolderPath | string | نعم | مسار حفظ ملفات دوال طلبات API |
|
|
193
|
+
| saveEnumFolderPath | string | نعم | مسار حفظ ملفات بيانات التعداد |
|
|
194
|
+
| importEnumPath | string | نعم | مسار استيراد التعداد (مسار ملف enum المُشار إليه في apps/types/models/\*.ts) |
|
|
195
|
+
| swaggerJsonUrl | string | لا | عنوان مستند Swagger JSON (تم نقله إلى `swaggerConfig`، محفوظ للتوافق مع التكوين القديم) **سيتم حذف هذا الحقل في الإصدارات التالية** |
|
|
196
|
+
| swaggerConfig | object \| Array<object> | لا | تكوين خادم Swagger. يمكن ملء خادم واحد مباشرة ككائن، أو استخدام مصفوفة لخوادم متعددة. يمكن تكوين `url` و `publicPrefix` و `apiListFileName` و `headers` لكل خادم<br />يتوافق هذا الحقل مع أمثلة تكوين خادم Swagger الواحد وتكوين خوادم Swagger المتعددة، يرجى التمرير لأعلى للعرض |
|
|
197
|
+
| swaggerConfig[].url | string | نعم | عنوان مستند Swagger JSON |
|
|
198
|
+
| swaggerConfig[].publicPrefix | string | لا | البادئة العامة على مسار url، على سبيل المثال: api/users، api/users/{id}، api هي البادئة العامة |
|
|
199
|
+
| swaggerConfig[].modulePrefix | string | لا | بادئة مسار الطلب (يمكن فهمها كاسم وحدة)، سيتم إضافتها تلقائيًا أمام كل مسار طلب API.<br />على سبيل المثال: عندما `modulePrefix: "/forward"`، <br />`/publicPrefix/modulePrefix/user` سيصبح `/api/forward/user` |
|
|
200
|
+
| swaggerConfig[].apiListFileName | string | لا | اسم ملف قائمة API، الافتراضي هو `index.ts`. عند استخدام خوادم متعددة، يجب أن يكون اسم الملف لكل خادم فريدًا |
|
|
201
|
+
| swaggerConfig[].headers | object | لا | تكوين رأس طلب هذا الخادم |
|
|
202
|
+
| swaggerConfig[].dataLevel | 'data' \| 'serve' \| 'axios' | لا | مستوى بيانات إرجاع واجهة هذا الخادم. إذا لم يتم تعيينه، يتم استخدام تكوين `dataLevel` العام |
|
|
203
|
+
| swaggerConfig[].parameterSeparator | '$' \| '\_' | لا | الفاصل المستخدم عند إنشاء أسماء API وأسماء الأنواع لهذا الخادم. إذا لم يتم تعيينه، يتم استخدام تكوين `parameterSeparator` العام |
|
|
204
|
+
| swaggerConfig[].includeInterface | Array<{path: string, method: string}> | لا | قائمة الواجهات المضمنة في هذا الخادم. إذا لم يتم تعيينها، يتم استخدام تكوين `includeInterface` العام |
|
|
205
|
+
| swaggerConfig[].excludeInterface | Array<{path: string, method: string}> | لا | قائمة الواجهات المستبعدة في هذا الخادم. إذا لم يتم تعيينها، يتم استخدام تكوين `excludeInterface` العام |
|
|
206
|
+
| requestMethodsImportPath | string | نعم | مسار استيراد طرق الطلب |
|
|
207
|
+
| dataLevel | 'data' \| 'serve' \| 'axios' | لا | تكوين مستوى بيانات إرجاع الواجهة العامة، القيمة الافتراضية: `'serve'`. يمكن لكل خادم تكوينه بشكل منفصل للتجاوز |
|
|
208
|
+
| formatting | object | لا | تكوين تنسيق الكود |
|
|
209
|
+
| formatting.indentation | string | لا | حرف مسافة بادئة الكود، على سبيل المثال: `"\t"` أو `" "` (مسافتان) |
|
|
210
|
+
| formatting.lineEnding | string | لا | حرف سطر جديد، على سبيل المثال: `"\n"` (LF) أو `"\r\n"` (CRLF) |
|
|
211
|
+
| headers | object | لا | تكوين رأس الطلب (تم نقله إلى `swaggerConfig`، محفوظ للتوافق مع التكوين القديم) |
|
|
212
|
+
| includeInterface | Array<{path: string, method: string}> | لا | الواجهات المضمنة عالميًا: ملف قائمة الواجهات المحدد بـ `saveApiListFolderPath` سيتضمن فقط الواجهات في القائمة، متعارض مع حقل `excludeInterface`. يمكن لكل خادم تكوينه بشكل منفصل للتجاوز |
|
|
213
|
+
| excludeInterface | Array<{path: string, method: string}> | لا | الواجهات المستبعدة عالميًا: نص قائمة الواجهات المحدد بـ `saveApiListFolderPath` لن يتضمن الواجهات في هذه القائمة، متعارض مع `includeInterface`. يمكن لكل خادم تكوينه بشكل منفصل للتجاوز |
|
|
214
|
+
| publicPrefix | string | لا | البادئة العامة على مسار url عالميًا (تم نقله إلى `swaggerConfig`، محفوظ للتوافق مع التكوين القديم) |
|
|
215
|
+
| modulePrefix | string | لا | بادئة مسار الطلب العامة (يمكن لكل خادم تكوينه بشكل منفصل للتجاوز) |
|
|
216
|
+
| apiListFileName | string | لا | اسم ملف قائمة API العامة، الافتراضي هو `index.ts` (تم نقله إلى `swaggerConfig`، محفوظ للتوافق مع التكوين القديم) |
|
|
217
|
+
| enmuConfig | object | نعم | كائن تكوين التعداد |
|
|
218
|
+
| enmuConfig.erasableSyntaxOnly | boolean | نعم | يتوافق مع خيار `compilerOptions.erasableSyntaxOnly` في tsconfig.json. عندما يكون `true`، يتم إنشاء كائن const بدلاً من enum (صيغة النوع فقط). القيمة الافتراضية: `false` |
|
|
219
|
+
| enmuConfig.varnames | string | لا | اسم الحقل في مخطط Swagger الذي يحتوي على أسماء عناصر التعداد المخصصة. القيمة الافتراضية: `enum-varnames`. |
|
|
220
|
+
| enmuConfig.comment | string | لا | اسم الحقل في مخطط Swagger الذي يحتوي على أوصاف عناصر التعداد (يُستخدم لإنشاء التعليقات). القيمة الافتراضية: `enum-descriptions`. |
|
|
221
|
+
| parameterSeparator | '$' \| '\_' | لا | الفاصل المستخدم بين أجزاء المسار والمعاملات عالميًا عند إنشاء أسماء API وأسماء الأنواع. على سبيل المثال، `/users/{userId}/posts` مع الفاصل `'_'` ينشئ `users_userId_posts_GET`. القيمة الافتراضية: `'_'`. يمكن لكل خادم تكوينه بشكل منفصل للتجاوز |
|
|
222
222
|
|
|
223
223
|
#### العلاقة بين عناصر التكوين والملفات المولدة
|
|
224
224
|
|
|
@@ -284,7 +284,7 @@ export const userDetailGet = (params: UserDetail_GET.Query) => GET<UserDetail_GE
|
|
|
284
284
|
- `parameterSeparator`: الفاصل لأسماء API وأسماء الأنواع
|
|
285
285
|
- `includeInterface`: قائمة الواجهات المضمنة
|
|
286
286
|
- `excludeInterface`: قائمة الواجهات المستبعدة
|
|
287
|
-
- `
|
|
287
|
+
- `modulePrefix`: بادئة مسار الطلب
|
|
288
288
|
- `publicPrefix`: البادئة العامة لـ URL
|
|
289
289
|
- `headers`: تكوين رأس الطلب
|
|
290
290
|
|
|
@@ -294,7 +294,7 @@ export const userDetailGet = (params: UserDetail_GET.Query) => GET<UserDetail_GE
|
|
|
294
294
|
{
|
|
295
295
|
"dataLevel": "serve",
|
|
296
296
|
"parameterSeparator": "_",
|
|
297
|
-
"
|
|
297
|
+
"swaggerConfig": [
|
|
298
298
|
{
|
|
299
299
|
"url": "http://api1.example.com/swagger.json",
|
|
300
300
|
"dataLevel": "data",
|
|
@@ -393,7 +393,7 @@ interface User {
|
|
|
393
393
|
```json
|
|
394
394
|
{
|
|
395
395
|
"dataLevel": "serve",
|
|
396
|
-
"
|
|
396
|
+
"swaggerConfig": [
|
|
397
397
|
{
|
|
398
398
|
"url": "http://api1.example.com/swagger.json",
|
|
399
399
|
"dataLevel": "data"
|
|
@@ -489,8 +489,8 @@ export const uploadFile = (params: UploadFile.Body) =>
|
|
|
489
489
|
|
|
490
490
|
تدعم الأداة تكوين خوادم Swagger متعددة، ويمكن تكوين كل خادم بشكل مستقل:
|
|
491
491
|
|
|
492
|
-
- **خادم واحد**: يمكن ملء `
|
|
493
|
-
- **خوادم متعددة**: استخدم `
|
|
492
|
+
- **خادم واحد**: يمكن ملء `swaggerConfig` مباشرة ككائن
|
|
493
|
+
- **خوادم متعددة**: استخدم `swaggerConfig` كمصفوفة، ويجب تكوين `apiListFileName` فريد لكل خادم
|
|
494
494
|
|
|
495
495
|
**كيفية العمل:**
|
|
496
496
|
|
|
@@ -506,11 +506,11 @@ export const uploadFile = (params: UploadFile.Body) =>
|
|
|
506
506
|
- `parameterSeparator` - الفاصل لأسماء API وأسماء الأنواع
|
|
507
507
|
- `includeInterface` - قائمة الواجهات المضمنة
|
|
508
508
|
- `excludeInterface` - قائمة الواجهات المستبعدة
|
|
509
|
-
- `
|
|
509
|
+
- `modulePrefix` - بادئة مسار الطلب
|
|
510
510
|
|
|
511
|
-
#### بادئة المسار (
|
|
511
|
+
#### بادئة المسار (modulePrefix)
|
|
512
512
|
|
|
513
|
-
يُستخدم `
|
|
513
|
+
يُستخدم `modulePrefix` لإضافة بادئة تلقائيًا أمام جميع مسارات طلبات API، وهو مفيد بشكل خاص في السيناريوهات التالية:
|
|
514
514
|
|
|
515
515
|
1. **سيناريو الوكيل العكسي**: عندما يتم توجيه خدمة الخلفية من خلال وكيل عكسي
|
|
516
516
|
2. **بوابة API**: إضافة بادئة بوابة موحدة أمام المسار
|
|
@@ -520,10 +520,10 @@ export const uploadFile = (params: UploadFile.Body) =>
|
|
|
520
520
|
|
|
521
521
|
```json
|
|
522
522
|
{
|
|
523
|
-
"
|
|
523
|
+
"swaggerConfig": [
|
|
524
524
|
{
|
|
525
525
|
"url": "http://api.example.com/swagger.json",
|
|
526
|
-
"
|
|
526
|
+
"modulePrefix": "/forward",
|
|
527
527
|
"apiListFileName": "api.ts"
|
|
528
528
|
}
|
|
529
529
|
]
|
|
@@ -541,18 +541,18 @@ export const apiUserListGet = (params: ApiUserList_GET.Query) => GET<ApiUserList
|
|
|
541
541
|
**الفرق مع publicPrefix:**
|
|
542
542
|
|
|
543
543
|
- `publicPrefix`: يُستخدم لإزالة البادئة العامة من مسار الواجهة (يؤثر فقط على اسم الدالة المولدة)
|
|
544
|
-
- `
|
|
544
|
+
- `modulePrefix`: يُستخدم لإضافة بادئة أمام مسار الطلب الفعلي (يؤثر على URL الطلب في وقت التشغيل)
|
|
545
545
|
|
|
546
546
|
**مثال على التكوين:**
|
|
547
547
|
|
|
548
548
|
```json
|
|
549
549
|
{
|
|
550
|
-
"
|
|
550
|
+
"swaggerConfig": [
|
|
551
551
|
{
|
|
552
552
|
"url": "http://api1.example.com/swagger.json",
|
|
553
553
|
"apiListFileName": "api1.ts",
|
|
554
554
|
"publicPrefix": "/api/v1",
|
|
555
|
-
"
|
|
555
|
+
"modulePrefix": "/forward",
|
|
556
556
|
"dataLevel": "serve",
|
|
557
557
|
"parameterSeparator": "_",
|
|
558
558
|
"headers": {
|
|
@@ -582,7 +582,7 @@ export const apiUserListGet = (params: ApiUserList_GET.Query) => GET<ApiUserList
|
|
|
582
582
|
|
|
583
583
|
```json
|
|
584
584
|
{
|
|
585
|
-
"
|
|
585
|
+
"swaggerConfig": [
|
|
586
586
|
{
|
|
587
587
|
"url": "http://api1.example.com/swagger.json",
|
|
588
588
|
"apiListFileName": "api1.ts",
|
|
@@ -607,7 +607,7 @@ export const apiUserListGet = (params: ApiUserList_GET.Query) => GET<ApiUserList
|
|
|
607
607
|
|
|
608
608
|
- لا يزال التكوين القديم (`swaggerJsonUrl` و `publicPrefix` و `headers`) متوافقًا
|
|
609
609
|
- ستكتشف الأداة تلقائيًا التكوين القديم وتقترح طريقة الترحيل
|
|
610
|
-
- يُنصح بالترحيل إلى تكوين `
|
|
610
|
+
- يُنصح بالترحيل إلى تكوين `swaggerConfig` الجديد للحصول على مرونة أفضل
|
|
611
611
|
|
|
612
612
|
#### دعم طرق HTTP
|
|
613
613
|
|
|
@@ -632,7 +632,7 @@ export const apiUserListGet = (params: ApiUserList_GET.Query) => GET<ApiUserList
|
|
|
632
632
|
4. يُنصح بإضافة الملفات المولدة إلى التحكم في الإصدار
|
|
633
633
|
5. عند استخدام خوادم Swagger متعددة، تأكد من أن `apiListFileName` لكل خادم فريد لتجنب استبدال الملفات
|
|
634
634
|
6. عند تكوين خوادم متعددة، سيتم دمج تعريفات الأنواع والتعدادات، وقد تحدث تعارضات إذا كانت هناك أنواع بنفس الاسم من خوادم مختلفة
|
|
635
|
-
7. تكوين مستوى الخادم (`dataLevel` و `parameterSeparator` و `includeInterface` و `excludeInterface` و `
|
|
635
|
+
7. تكوين مستوى الخادم (`dataLevel` و `parameterSeparator` و `includeInterface` و `excludeInterface` و `modulePrefix`) سيتجاوز التكوين العام
|
|
636
636
|
8. لا يمكن تكوين `includeInterface` و `excludeInterface` في نفس الوقت، إذا تم تكوينهما معًا، سيتم إعطاء الأولوية لـ `includeInterface`
|
|
637
637
|
|
|
638
638
|
### الأسئلة الشائعة
|
|
@@ -645,15 +645,15 @@ export const apiUserListGet = (params: ApiUserList_GET.Query) => GET<ApiUserList
|
|
|
645
645
|
- تحقق من صحة تكوين requestMethodsImportPath
|
|
646
646
|
- تأكد من وجود ملف طريقة الطلب
|
|
647
647
|
|
|
648
|
-
3. **متى تستخدم `
|
|
648
|
+
3. **متى تستخدم `modulePrefix`؟**
|
|
649
649
|
- عندما تحتاج واجهة API الخاصة بك إلى الوصول عبر وكيل عكسي أو بوابة
|
|
650
650
|
- على سبيل المثال: المحدد في Swagger هو `/api/user`، لكن الطلب الفعلي يحتاج إلى `/gateway/api/user`
|
|
651
|
-
- ما عليك سوى تعيين `
|
|
651
|
+
- ما عليك سوى تعيين `modulePrefix: "/gateway"`
|
|
652
652
|
|
|
653
|
-
4. **ما الفرق بين `publicPrefix` و `
|
|
653
|
+
4. **ما الفرق بين `publicPrefix` و `modulePrefix`؟**
|
|
654
654
|
- `publicPrefix`: يزيل البادئة من مسار الواجهة، ويؤثر فقط على اسم الدالة المولدة
|
|
655
655
|
- على سبيل المثال: `/api/user/list` بعد إزالة `/api`، يكون اسم الدالة `userListGet`
|
|
656
|
-
- `
|
|
656
|
+
- `modulePrefix`: يضيف بادئة أمام مسار الطلب، ويؤثر على URL الطلب الفعلي
|
|
657
657
|
- على سبيل المثال: `/api/user/list` بعد إضافة `/forward`، يكون URL الطلب `/forward/api/user/list`
|
|
658
658
|
|
|
659
659
|
5. **كيفية تكوين `dataLevel` مختلف لخوادم متعددة؟**
|
|
@@ -661,7 +661,7 @@ export const apiUserListGet = (params: ApiUserList_GET.Query) => GET<ApiUserList
|
|
|
661
661
|
```json
|
|
662
662
|
{
|
|
663
663
|
"dataLevel": "serve",
|
|
664
|
-
"
|
|
664
|
+
"swaggerConfig": [
|
|
665
665
|
{
|
|
666
666
|
"url": "http://old-api.com/swagger.json",
|
|
667
667
|
"dataLevel": "axios",
|
|
@@ -682,7 +682,7 @@ export const apiUserListGet = (params: ApiUserList_GET.Query) => GET<ApiUserList
|
|
|
682
682
|
- استخدم تكوين `includeInterface`:
|
|
683
683
|
```json
|
|
684
684
|
{
|
|
685
|
-
"
|
|
685
|
+
"swaggerConfig": [
|
|
686
686
|
{
|
|
687
687
|
"url": "http://api.com/swagger.json",
|
|
688
688
|
"includeInterface": [
|
package/README.es.md
CHANGED
|
@@ -111,11 +111,11 @@ $ anl type
|
|
|
111
111
|
"indentation": "\t",
|
|
112
112
|
"lineEnding": "\n"
|
|
113
113
|
},
|
|
114
|
-
"
|
|
114
|
+
"swaggerConfig": {
|
|
115
115
|
"url": "https://generator3.swagger.io/openapi2.json",
|
|
116
116
|
"apiListFileName": "index.ts",
|
|
117
117
|
"publicPrefix": "/api",
|
|
118
|
-
"
|
|
118
|
+
"modulePrefix": "/gateway",
|
|
119
119
|
"dataLevel": "serve",
|
|
120
120
|
"parameterSeparator": "_",
|
|
121
121
|
"headers": {
|
|
@@ -156,11 +156,11 @@ $ anl type
|
|
|
156
156
|
"varnames": "enum-varnames",
|
|
157
157
|
"comment": "enum-descriptions"
|
|
158
158
|
},
|
|
159
|
-
"
|
|
159
|
+
"swaggerConfig": [
|
|
160
160
|
{
|
|
161
161
|
"url": "https://generator3.swagger.io/openapi1.json",
|
|
162
162
|
"apiListFileName": "op.ts",
|
|
163
|
-
"
|
|
163
|
+
"modulePrefix": "/forward",
|
|
164
164
|
"dataLevel": "serve",
|
|
165
165
|
"parameterSeparator": "_",
|
|
166
166
|
"headers": {},
|
|
@@ -184,39 +184,39 @@ $ anl type
|
|
|
184
184
|
|
|
185
185
|
#### Descripción de Elementos de Configuración
|
|
186
186
|
|
|
187
|
-
| Elemento de Configuración
|
|
188
|
-
|
|
|
189
|
-
| saveTypeFolderPath
|
|
190
|
-
| saveApiListFolderPath
|
|
191
|
-
| saveEnumFolderPath
|
|
192
|
-
| importEnumPath
|
|
193
|
-
| swaggerJsonUrl
|
|
194
|
-
|
|
|
195
|
-
|
|
|
196
|
-
|
|
|
197
|
-
|
|
|
198
|
-
|
|
|
199
|
-
|
|
|
200
|
-
|
|
|
201
|
-
|
|
|
202
|
-
|
|
|
203
|
-
|
|
|
204
|
-
| requestMethodsImportPath | string | Sí | Ruta de importación de métodos de solicitud
|
|
205
|
-
| dataLevel | 'data' \| 'serve' \| 'axios' | No | Configuración global de nivel de datos de retorno de interfaz, valor predeterminado: `'serve'`. Cada servidor puede configurarlo individualmente para sobrescribir
|
|
206
|
-
| formatting | object | No | Configuración de formateo de código
|
|
207
|
-
| formatting.indentation | string | No | Carácter de indentación de código, por ejemplo: `"\t"` o `" "` (dos espacios)
|
|
208
|
-
| formatting.lineEnding | string | No | Carácter de salto de línea, por ejemplo: `"\n"` (LF) o `"\r\n"` (CRLF)
|
|
209
|
-
| headers
|
|
210
|
-
| includeInterface | Array<{path: string, method: string}> | No | Interfaces incluidas globalmente: el archivo de lista de interfaces especificado por `saveApiListFolderPath` solo incluirá las interfaces en la lista, es mutuamente excluyente con el campo `excludeInterface`. Cada servidor puede configurarlo individualmente para sobrescribir
|
|
211
|
-
| excludeInterface | Array<{path: string, method: string}> | No | Interfaces excluidas globalmente: el texto de lista de interfaces especificado por `saveApiListFolderPath` no incluirá las interfaces en esta lista, es mutuamente excluyente con `includeInterface`. Cada servidor puede configurarlo individualmente para sobrescribir
|
|
212
|
-
| publicPrefix | string | No | Prefijo público global en la ruta URL (migrado a `
|
|
213
|
-
|
|
|
214
|
-
| apiListFileName | string | No | Nombre del archivo de lista de API global, el predeterminado es `index.ts` (migrado a `
|
|
215
|
-
| enmuConfig | object | Sí | Objeto de configuración de enumeración
|
|
216
|
-
| enmuConfig.erasableSyntaxOnly | boolean | Sí | Alineado con la opción `compilerOptions.erasableSyntaxOnly` de tsconfig.json. Cuando es `true`, genera objetos const en lugar de enum (solo sintaxis de tipo). Valor predeterminado: `false`
|
|
217
|
-
| enmuConfig.varnames | string | No | Nombre del campo en el esquema Swagger que contiene los nombres personalizados de los miembros del enum. Valor predeterminado: `enum-varnames`.
|
|
218
|
-
| enmuConfig.comment | string | No | Nombre del campo en el esquema Swagger que contiene las descripciones de los miembros del enum (se usa para generar comentarios). Valor predeterminado: `enum-descriptions`.
|
|
219
|
-
| parameterSeparator | '$' \| '\_' | No | Separador utilizado globalmente entre segmentos de ruta y parámetros al generar nombres de API y nombres de tipo. Por ejemplo, `/users/{userId}/posts` con el separador `'_'` genera `users_userId_posts_GET`. Valor predeterminado: `'_'`. Cada servidor puede configurarlo individualmente para sobrescribir
|
|
187
|
+
| Elemento de Configuración | Tipo | Requerido | Descripción |
|
|
188
|
+
| ---------------------------------- | ------------------------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
189
|
+
| saveTypeFolderPath | string | Sí | Ruta de guardado de archivos de definición de tipos |
|
|
190
|
+
| saveApiListFolderPath | string | Sí | Ruta de guardado de archivos de funciones de solicitud API |
|
|
191
|
+
| saveEnumFolderPath | string | Sí | Ruta de guardado de archivos de datos enum |
|
|
192
|
+
| importEnumPath | string | Sí | Ruta de importación de enum (ruta de referencia de archivos enum en apps/types/models/\*.ts) |
|
|
193
|
+
| swaggerJsonUrl | string | No | Dirección del documento Swagger JSON (migrado a `swaggerConfig`, conservado para compatibilidad con configuración antigua) **Este campo se eliminará en versiones futuras** |
|
|
194
|
+
| swaggerConfig | object \| Array<object> | No | Configuración del servidor Swagger. Un solo servidor se puede completar directamente como objeto, múltiples servidores usan array. Cada servidor puede configurar `url`, `publicPrefix`, `apiListFileName`, `headers`<br />Este campo corresponde a los ejemplos de configuración de un solo servidor Swagger y configuración de múltiples servidores Swagger, desplázate hacia arriba para verlos |
|
|
195
|
+
| swaggerConfig[].url | string | Sí | Dirección del documento Swagger JSON |
|
|
196
|
+
| swaggerConfig[].publicPrefix | string | No | Prefijo público en la ruta URL, por ejemplo: api/users, api/users/{id}, api es el prefijo público |
|
|
197
|
+
| swaggerConfig[].modulePrefix | string | No | Prefijo de ruta de solicitud (puede entenderse como nombre de módulo), se agregará automáticamente delante de cada ruta de solicitud API.<br />Por ejemplo: cuando `modulePrefix: "/forward"`,<br />`/publicPrefix/modulePrefix/user` se convierte en `/api/forward/user` |
|
|
198
|
+
| swaggerConfig[].apiListFileName | string | No | Nombre del archivo de lista de API, el predeterminado es `index.ts`. Cuando hay múltiples servidores, el nombre de archivo de cada servidor debe ser único |
|
|
199
|
+
| swaggerConfig[].headers | object | No | Configuración de encabezados de solicitud para este servidor |
|
|
200
|
+
| swaggerConfig[].dataLevel | 'data' \| 'serve' \| 'axios' | No | Nivel de datos de retorno de interfaz para este servidor. Si no se configura, se usa la configuración global `dataLevel` |
|
|
201
|
+
| swaggerConfig[].parameterSeparator | '$' \| '\_' | No | Separador utilizado al generar nombres de API y nombres de tipo para este servidor. Si no se configura, se usa la configuración global `parameterSeparator` |
|
|
202
|
+
| swaggerConfig[].includeInterface | Array<{path: string, method: string}> | No | Lista de interfaces incluidas para este servidor. Si no se configura, se usa la configuración global `includeInterface` |
|
|
203
|
+
| swaggerConfig[].excludeInterface | Array<{path: string, method: string}> | No | Lista de interfaces excluidas para este servidor. Si no se configura, se usa la configuración global `excludeInterface` |
|
|
204
|
+
| requestMethodsImportPath | string | Sí | Ruta de importación de métodos de solicitud |
|
|
205
|
+
| dataLevel | 'data' \| 'serve' \| 'axios' | No | Configuración global de nivel de datos de retorno de interfaz, valor predeterminado: `'serve'`. Cada servidor puede configurarlo individualmente para sobrescribir |
|
|
206
|
+
| formatting | object | No | Configuración de formateo de código |
|
|
207
|
+
| formatting.indentation | string | No | Carácter de indentación de código, por ejemplo: `"\t"` o `" "` (dos espacios) |
|
|
208
|
+
| formatting.lineEnding | string | No | Carácter de salto de línea, por ejemplo: `"\n"` (LF) o `"\r\n"` (CRLF) |
|
|
209
|
+
| headers | object | No | Configuración de encabezados de solicitud (migrado a `swaggerConfig`, conservado para compatibilidad con configuración antigua) |
|
|
210
|
+
| includeInterface | Array<{path: string, method: string}> | No | Interfaces incluidas globalmente: el archivo de lista de interfaces especificado por `saveApiListFolderPath` solo incluirá las interfaces en la lista, es mutuamente excluyente con el campo `excludeInterface`. Cada servidor puede configurarlo individualmente para sobrescribir |
|
|
211
|
+
| excludeInterface | Array<{path: string, method: string}> | No | Interfaces excluidas globalmente: el texto de lista de interfaces especificado por `saveApiListFolderPath` no incluirá las interfaces en esta lista, es mutuamente excluyente con `includeInterface`. Cada servidor puede configurarlo individualmente para sobrescribir |
|
|
212
|
+
| publicPrefix | string | No | Prefijo público global en la ruta URL (migrado a `swaggerConfig`, conservado para compatibilidad con configuración antigua) |
|
|
213
|
+
| modulePrefix | string | No | Prefijo de ruta de solicitud global (cada servidor puede configurarlo individualmente para sobrescribir) |
|
|
214
|
+
| apiListFileName | string | No | Nombre del archivo de lista de API global, el predeterminado es `index.ts` (migrado a `swaggerConfig`, conservado para compatibilidad con configuración antigua) |
|
|
215
|
+
| enmuConfig | object | Sí | Objeto de configuración de enumeración |
|
|
216
|
+
| enmuConfig.erasableSyntaxOnly | boolean | Sí | Alineado con la opción `compilerOptions.erasableSyntaxOnly` de tsconfig.json. Cuando es `true`, genera objetos const en lugar de enum (solo sintaxis de tipo). Valor predeterminado: `false` |
|
|
217
|
+
| enmuConfig.varnames | string | No | Nombre del campo en el esquema Swagger que contiene los nombres personalizados de los miembros del enum. Valor predeterminado: `enum-varnames`. |
|
|
218
|
+
| enmuConfig.comment | string | No | Nombre del campo en el esquema Swagger que contiene las descripciones de los miembros del enum (se usa para generar comentarios). Valor predeterminado: `enum-descriptions`. |
|
|
219
|
+
| parameterSeparator | '$' \| '\_' | No | Separador utilizado globalmente entre segmentos de ruta y parámetros al generar nombres de API y nombres de tipo. Por ejemplo, `/users/{userId}/posts` con el separador `'_'` genera `users_userId_posts_GET`. Valor predeterminado: `'_'`. Cada servidor puede configurarlo individualmente para sobrescribir |
|
|
220
220
|
|
|
221
221
|
#### Relación entre Elementos de Configuración y Archivos Generados
|
|
222
222
|
|
|
@@ -282,7 +282,7 @@ Los siguientes elementos de configuración admiten sobrescritura a nivel de serv
|
|
|
282
282
|
- `parameterSeparator`: Separador para nombres de API y nombres de tipo
|
|
283
283
|
- `includeInterface`: Lista de interfaces incluidas
|
|
284
284
|
- `excludeInterface`: Lista de interfaces excluidas
|
|
285
|
-
- `
|
|
285
|
+
- `modulePrefix`: Prefijo de ruta de solicitud
|
|
286
286
|
- `publicPrefix`: Prefijo común de URL
|
|
287
287
|
- `headers`: Configuración de encabezados de solicitud
|
|
288
288
|
|
|
@@ -292,7 +292,7 @@ Los siguientes elementos de configuración admiten sobrescritura a nivel de serv
|
|
|
292
292
|
{
|
|
293
293
|
"dataLevel": "serve",
|
|
294
294
|
"parameterSeparator": "_",
|
|
295
|
-
"
|
|
295
|
+
"swaggerConfig": [
|
|
296
296
|
{
|
|
297
297
|
"url": "http://api1.example.com/swagger.json",
|
|
298
298
|
"dataLevel": "data",
|
|
@@ -391,7 +391,7 @@ interface User {
|
|
|
391
391
|
```json
|
|
392
392
|
{
|
|
393
393
|
"dataLevel": "serve",
|
|
394
|
-
"
|
|
394
|
+
"swaggerConfig": [
|
|
395
395
|
{
|
|
396
396
|
"url": "http://api1.example.com/swagger.json",
|
|
397
397
|
"dataLevel": "data"
|
|
@@ -487,8 +487,8 @@ Nota: `includeInterface` y `excludeInterface` no se pueden usar simultáneamente
|
|
|
487
487
|
|
|
488
488
|
La herramienta admite la configuración de múltiples servidores Swagger, cada servidor se puede configurar de forma independiente:
|
|
489
489
|
|
|
490
|
-
- **Un solo servidor**: `
|
|
491
|
-
- **Múltiples servidores**: `
|
|
490
|
+
- **Un solo servidor**: `swaggerConfig` se puede completar directamente como objeto
|
|
491
|
+
- **Múltiples servidores**: `swaggerConfig` usa formato de array, cada servidor debe configurar un `apiListFileName` único
|
|
492
492
|
|
|
493
493
|
**Cómo funciona:**
|
|
494
494
|
|
|
@@ -504,11 +504,11 @@ Cada servidor admite configuración independiente de las siguientes opciones. Si
|
|
|
504
504
|
- `parameterSeparator` - Separador para nombres de API y nombres de tipo
|
|
505
505
|
- `includeInterface` - Lista de interfaces incluidas
|
|
506
506
|
- `excludeInterface` - Lista de interfaces excluidas
|
|
507
|
-
- `
|
|
507
|
+
- `modulePrefix` - Prefijo de ruta de solicitud
|
|
508
508
|
|
|
509
|
-
#### Prefijo de Ruta (
|
|
509
|
+
#### Prefijo de Ruta (modulePrefix)
|
|
510
510
|
|
|
511
|
-
`
|
|
511
|
+
`modulePrefix` se utiliza para agregar automáticamente un prefijo delante de todas las rutas de solicitud API, esto es especialmente útil en los siguientes escenarios:
|
|
512
512
|
|
|
513
513
|
1. **Escenario de proxy inverso**: Cuando el servicio backend se enruta a través de un proxy inverso
|
|
514
514
|
2. **Gateway de API**: Agregar uniformemente un prefijo de gateway delante de la ruta
|
|
@@ -518,10 +518,10 @@ Cada servidor admite configuración independiente de las siguientes opciones. Si
|
|
|
518
518
|
|
|
519
519
|
```json
|
|
520
520
|
{
|
|
521
|
-
"
|
|
521
|
+
"swaggerConfig": [
|
|
522
522
|
{
|
|
523
523
|
"url": "http://api.example.com/swagger.json",
|
|
524
|
-
"
|
|
524
|
+
"modulePrefix": "/forward",
|
|
525
525
|
"apiListFileName": "api.ts"
|
|
526
526
|
}
|
|
527
527
|
]
|
|
@@ -539,18 +539,18 @@ export const apiUserListGet = (params: ApiUserList_GET.Query) => GET<ApiUserList
|
|
|
539
539
|
**Diferencia con publicPrefix:**
|
|
540
540
|
|
|
541
541
|
- `publicPrefix`: Se usa para eliminar el prefijo común de la ruta de interfaz (solo afecta al nombre de función generado)
|
|
542
|
-
- `
|
|
542
|
+
- `modulePrefix`: Se usa para agregar prefijo delante de la ruta de solicitud real (afecta a la URL de solicitud en tiempo de ejecución)
|
|
543
543
|
|
|
544
544
|
**Ejemplo de configuración:**
|
|
545
545
|
|
|
546
546
|
```json
|
|
547
547
|
{
|
|
548
|
-
"
|
|
548
|
+
"swaggerConfig": [
|
|
549
549
|
{
|
|
550
550
|
"url": "http://api1.example.com/swagger.json",
|
|
551
551
|
"apiListFileName": "api1.ts",
|
|
552
552
|
"publicPrefix": "/api/v1",
|
|
553
|
-
"
|
|
553
|
+
"modulePrefix": "/forward",
|
|
554
554
|
"dataLevel": "serve",
|
|
555
555
|
"parameterSeparator": "_",
|
|
556
556
|
"headers": {
|
|
@@ -580,7 +580,7 @@ export const apiUserListGet = (params: ApiUserList_GET.Query) => GET<ApiUserList
|
|
|
580
580
|
|
|
581
581
|
```json
|
|
582
582
|
{
|
|
583
|
-
"
|
|
583
|
+
"swaggerConfig": [
|
|
584
584
|
{
|
|
585
585
|
"url": "http://api1.example.com/swagger.json",
|
|
586
586
|
"apiListFileName": "api1.ts",
|
|
@@ -605,7 +605,7 @@ export const apiUserListGet = (params: ApiUserList_GET.Query) => GET<ApiUserList
|
|
|
605
605
|
|
|
606
606
|
- La configuración antigua (`swaggerJsonUrl`, `publicPrefix`, `headers`) sigue siendo compatible
|
|
607
607
|
- La herramienta detectará automáticamente la configuración antigua y sugerirá el método de migración
|
|
608
|
-
- Se recomienda migrar a la nueva configuración `
|
|
608
|
+
- Se recomienda migrar a la nueva configuración `swaggerConfig` para obtener mayor flexibilidad
|
|
609
609
|
|
|
610
610
|
#### Soporte para Métodos HTTP
|
|
611
611
|
|
|
@@ -630,7 +630,7 @@ Todos los métodos admiten definiciones de tipos seguros para parámetros y resp
|
|
|
630
630
|
4. Se recomienda incluir los archivos generados en el control de versiones
|
|
631
631
|
5. Al usar múltiples servidores Swagger, asegúrate de que el `apiListFileName` de cada servidor sea único para evitar sobrescritura de archivos
|
|
632
632
|
6. Al configurar múltiples servidores, las definiciones de tipos y enumeraciones se fusionarán, y pueden ocurrir conflictos si hay tipos con el mismo nombre de diferentes servidores
|
|
633
|
-
7. La configuración a nivel de servidor (`dataLevel`, `parameterSeparator`, `includeInterface`, `excludeInterface`, `
|
|
633
|
+
7. La configuración a nivel de servidor (`dataLevel`, `parameterSeparator`, `includeInterface`, `excludeInterface`, `modulePrefix`) sobrescribirá la configuración global
|
|
634
634
|
8. `includeInterface` y `excludeInterface` no se pueden configurar simultáneamente. Si se configuran ambos, se usará `includeInterface` con prioridad
|
|
635
635
|
|
|
636
636
|
### Preguntas Frecuentes
|
|
@@ -643,15 +643,15 @@ Todos los métodos admiten definiciones de tipos seguros para parámetros y resp
|
|
|
643
643
|
- Verifica si la configuración de requestMethodsImportPath es correcta
|
|
644
644
|
- Confirma si el archivo de métodos de solicitud existe
|
|
645
645
|
|
|
646
|
-
3. **¿Cuándo usar `
|
|
646
|
+
3. **¿Cuándo usar `modulePrefix`?**
|
|
647
647
|
- Cuando tu API necesita accederse a través de un proxy inverso o gateway
|
|
648
648
|
- Por ejemplo: Swagger define `/api/user`, pero la solicitud real necesita ser `/gateway/api/user`
|
|
649
|
-
- Simplemente configura `
|
|
649
|
+
- Simplemente configura `modulePrefix: "/gateway"`
|
|
650
650
|
|
|
651
|
-
4. **¿Cuál es la diferencia entre `publicPrefix` y `
|
|
651
|
+
4. **¿Cuál es la diferencia entre `publicPrefix` y `modulePrefix`?**
|
|
652
652
|
- `publicPrefix`: Elimina el prefijo de la ruta de interfaz, solo afecta al nombre de función generado
|
|
653
653
|
- Por ejemplo: `/api/user/list` después de eliminar `/api`, el nombre de función es `userListGet`
|
|
654
|
-
- `
|
|
654
|
+
- `modulePrefix`: Agrega prefijo delante de la ruta de solicitud, afecta a la URL de solicitud real
|
|
655
655
|
- Por ejemplo: `/api/user/list` después de agregar `/forward`, la URL de solicitud es `/forward/api/user/list`
|
|
656
656
|
|
|
657
657
|
5. **¿Cómo configurar diferentes `dataLevel` para múltiples servidores?**
|
|
@@ -659,7 +659,7 @@ Todos los métodos admiten definiciones de tipos seguros para parámetros y resp
|
|
|
659
659
|
```json
|
|
660
660
|
{
|
|
661
661
|
"dataLevel": "serve",
|
|
662
|
-
"
|
|
662
|
+
"swaggerConfig": [
|
|
663
663
|
{
|
|
664
664
|
"url": "http://old-api.com/swagger.json",
|
|
665
665
|
"dataLevel": "axios",
|
|
@@ -680,7 +680,7 @@ Todos los métodos admiten definiciones de tipos seguros para parámetros y resp
|
|
|
680
680
|
- Usa la configuración `includeInterface`:
|
|
681
681
|
```json
|
|
682
682
|
{
|
|
683
|
-
"
|
|
683
|
+
"swaggerConfig": [
|
|
684
684
|
{
|
|
685
685
|
"url": "http://api.com/swagger.json",
|
|
686
686
|
"includeInterface": [
|