تحويل curl إلى TypeScript
يقوم curl2code بتحويل أوامر curl إلى كود TypeScript مع تعليقات الأنواع المناسبة باستخدام fetch API. تتم عملية التحويل في متصفحك عبر WebAssembly — بياناتك لا تغادر جهازك أبداً. بالنسبة لـ JavaScript العادي، راجع محول curl إلى JavaScript. لكود جهة الخادم، راجع curl إلى Node.js. أدناه أمثلة معرّفة الأنواع للسيناريوهات الشائعة.
كيفية نسخ curl من متصفحك
- 1
افتح أدوات المطور (DevTools)
اضغط على F12 أو Ctrl+Shift+I لفتح أدوات مطور المتصفح.
- 2
انتقل إلى علامة تبويب الشبكة (Network)
انقر فوق علامة التبويب Network وقم بالإجراء الذي يؤدي إلى إرسال طلب HTTP.
- 3
نسخ كـ cURL
انقر بزر الماوس الأيمن على الطلب ← Copy ← Copy as cURL. ثم قم بلصقه أعلاه.
الأسئلة الشائعة
ماذا ينتج curl2code لـ TypeScript؟
ينتج curl2code كود TypeScript باستخدام fetch API الأصلي للمتصفح مع تعليقات توضيحية كاملة للأنواع. يتضمن الكود الناتج خيارات طلب محددة الأنواع، وتعامل صحيح مع Response، وتحليل JSON آمن الأنواع. تضيف TypeScript أماناً في وقت التجميع لنفس Fetch API المستخدمة في JavaScript العادية.
مقارنة بين fetch في TypeScript و fetch في JavaScript — ما الفرق؟
واجهة برمجة التطبيقات في وقت التشغيل متطابقة — تضيف TypeScript فحصاً ثابتاً للأنواع. تحصل على كائنات Headers و RequestInit و Response محددة الأنواع. لأشكال الاستجابة المخصصة، حدد واجهة (interface) واستخدم التحويل مع await response.json() as MyType. لـ TypeScript من جانب الخادم، راجع محول curl إلى Node.js.
كيفية التعامل مع المصادقة في TypeScript؟
بنفس طريقة Fetch — مرر ترويسة Authorization في كائن HeadersInit محدد الأنواع. تضمن TypeScript عدم كتابة أسماء الترويسات بشكل خاطئ إذا كنت تستخدم مساعد ترويسات محدد الأنواع. ينتج curl2code ترويسات مصادقة محددة الأنواع بشكل صحيح من أعلام curl مثل -u و -H 'Authorization: ...'.
كيفية إرسال بيانات النموذج مع TypeScript؟
استخدم FormData API الخاص بالمتصفح — تمتلك TypeScript تعريفات أنواع مدمجة له. استدعِ formData.append('file', file) مع معاملات محددة الأنواع. يلتقط المترجم الأنواع غير المتطابقة في وقت البناء. يحول curl2code أعلام -F إلى استدعاءات FormData محددة الأنواع بشكل صحيح.
كيفية التعامل مع الأخطاء بأمان الأنواع في TypeScript؟
استخدم try/catch مع async/await. حدد نوع الخطأ في كتلة catch كـ unknown وقم بتضييقه باستخدام instanceof. تحقق من response.ok قبل التحليل. حدد استجابات الأخطاء باستخدام واجهات لتنسيقات الأخطاء الخاصة بـ API. يمنحك هذا ضمانات في وقت التجميع بأن جميع مسارات الأخطاء قد تمت معالجتها.
كيفية تحديد أنواع استجابات API في TypeScript؟
حدد واجهة (interface) لشكل الاستجابة المتوقع، ثم استخدم const data: MyAPI = await response.json(). للتحقق في وقت التشغيل، استخدمها مع zod أو io-ts. يضمن هذا النمط سلامة الأنواع عبر قاعدة الكود الخاصة بك. لتجربة مماثلة في لغات أخرى، راجع curl إلى Go أو curl إلى Rust.
كيفية ضبط مهلات لـ fetch في TypeScript؟
استخدم AbortController — تتضمن TypeScript تعريفات أنواع كاملة لـ Abort API. أنشئ const controller = new AbortController()، ومرر signal إلى fetch، وقم بالإلغاء باستخدام setTimeout. الاختصار AbortSignal.timeout(ms) محدد الأنواع في أهداف مكتبة TypeScript الحديثة.
كيفية التعامل مع CORS مع TypeScript؟
التعامل مع CORS مطابق لـ JavaScript — إنها ميزة أمان في المتصفح، وليست ميزة في TypeScript. اضبط mode: 'cors' و credentials: 'include' حسب الحاجة، مع ضمان TypeScript لقيم enum الصحيحة لـ RequestMode و RequestCredentials. للطلبات من جانب الخادم حيث لا ينطبق CORS، راجع محول curl إلى Node.js.
كيف يمكن إرسال طلب POST مع جسم JSON في TypeScript؟
قم بتحويل أمر curl POST مثل curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL إلى TypeScript باستخدام curl2code. يستخدم الكود الناتج const response: Response = await fetch(url, { method: 'POST', body: JSON.stringify(data) }). يقوم curl2code تلقائيًا باكتشاف وسوم -d/--data التي تحتوي على محتوى JSON ويضبط ترويسة Content-Type المناسبة في كود fetch.
كيف يمكن إضافة مصادقة Bearer token في TypeScript؟
قم بتمرير curl -H "Authorization: Bearer YOUR_TOKEN" URL إلى curl2code وسيقوم بإنشاء كود fetch مع ترويسة المصادقة: headers: { Authorization: `Bearer ${token}` }. يكتشف curl2code رموز Bearer من كل من وسوم -H "Authorization: Bearer ..." و --oauth2-bearer. بالنسبة لـ Basic auth، استخدم -u user:pass.
كيف يمكن ضبط ترويسة Content-Type في TypeScript؟
يقوم curl2code بتحويل curl -H "Content-Type: application/json" URL إلى كود fetch مع الترويسة المناسبة: headers: { 'Content-Type': 'application/json' } as HeadersInit. بالنسبة لبيانات -d، يستخدم curl افتراضيًا application/x-www-form-urlencoded؛ أما بالنسبة لرفع النماذج باستخدام -F، فإنه يستخدم multipart/form-data. يقوم curl2code بربط كل منها بـ API الصحيح في fetch.