اختبار الـ API
بيعمل حاجة واحدة: تبعت طلب للمشروع اللي إنت فاتحه وتقرا الرد. Postman لسه أحسن في المجموعات والـ mocks وشغل الفرق — وده للحظة اللي مش عايز تسيب فيها المحرر.

افتحه من أيقونة الإرسال في هيدر اللوحة، أو من أيقونة الإرسال في صف المشروع، أو من قائمة شريط المهام، أو Ctrl+Shift+A من أي مكان.
الرابط الأساسي بيجي من المشروع
أول ما تفتح مشروع، البرنامج بيقرا ملفات .env بتاعته — اللي في الجذر واللي في مستوى واحد تحته، عشان الـ monorepos تشتغل — وبيحوّل كل ملف لبيئة: .env ← local، و .env.stage ← stage، وهكذا.
وكل مشروع بيسمّي الرابط الأساسي باسم مختلف، فالبرنامج بيدوّر على الأسماء المشهورة — VITE_SERVER_URL و VITE_APP_BASE_URL و NUXT_PUBLIC_BASE_URL و EXPO_PUBLIC_API_BASE و AUTH_SERVICE_URL — ولو مالقاش ولا واحد فيهم، بياخد أي مفتاح آخره _API_URL وقيمته بتبدأ بـ http:// أو https://.
والسطور المتعلّق عليها بتتحسب كمان. سطر زي # VITE_SERVER_URL=https://…-stg-api… بيتعرض عليك كاختيار، بس عمره ما بيتختار لوحده.
وتقدر تغيّر ده كله بإيدك من ⚙ البيئات، اللي كمان بتعرض كل الروابط اللي لقاها، فتعرف اختار اللي اختاره ليه.
التبويبات المؤقتة
Ctrl+Shift+A بيفتح تبويب مش بيحفظ حاجة — لا ملف ولا سطر في السجل. ولو في رابط أو أمر curl في الحافظة، بيتحط لوحده.
يعني الخطوات كلها: نسخ ← اختصار ← Ctrl+Enter.
ولو طلع يستاهل تحتفظ بيه، حفظ في المشروع… بيحوّله لطلب محفوظ عادي.
الطلبات المحفوظة بتعيش في المشروع
عشان تمشي مع الكود وتتعمل commit:
<project>/.xtop/api/requests/<slug>.json
<project>/.xtop/api/environments.jsonالسجل والقيم السرية استثناء — دول بيفضلوا في فولدر بيانات البرنامج. ملف الطلب بيكتب بس إن الطلب بيستخدم ؛ أما التوكن نفسه فعمره ما بيوصل لـ commit.
بعد طلب تسجيل الدخول، 🔑 حفظ التوكن في بياخد التوكن من الرد ويخزّنه للبيئة دي.
مجلدات متداخلة في الشريط الجانبي
الطلب بيحفظ اسم فولدره كسطر نص واحد، والفولدرات اللي جوه بعض بتتوصل بـ " / " — يعني Auth / Admin / Login بتتقرا تلات مستويات، مش فولدر واحد باسم غريب. والاستيراد من Postman بيدخل بنفس الطريقة.
والشريط الجانبي بيحوّل ده لشجرة حقيقية: الفولدرات بتتفتح وتتقفل، وبتفتكر كانت مفتوحة ولا لأ، والفولدر المقفول لسه بيوريك كام طلب جواه.
الطلب
- الميثود والرابط، وتحتيهم على طول قيمة كل
وإنت بتكتب. وأي متغيّر مالوش قيمة بيتعلّم بالأحمر قبل ما تبعت، بدل ما يرجعلك 404 تقعد تدوّر على سببه. - Params و Headers — صفوف مفتاح/قيمة تقدر تقفل وتفتح كل صف لوحده. والصف المقفول بيتشطب بس بيفضل موجود، فتقدر تشغّل فلتر وتقفله من غير ما تكتبه تاني.
- Body — JSON (ومعاه زرار تنسيق)، أو form، أو من غير.
- Auth — bearer، أو basic، أو مفتاح API في هيدر أو في الرابط.
الرد
حالة الرد، والوقت الكلي، ووقت أول بايت، والحجم، وبعدين محتوى الرد بتلات طرق:
- Pretty — شجرة JSON تقدر تطويها، ومعاها فلتر بحث في الرد.
- Raw — المحتوى زي ما رجع بالظبط.
- Headers — كل هيدرات الرد.
وتقدر كمان تنسخ المحتوى أو تحفظه كملف، وتشوف عدد التحويلات، وبيحذّرك لو المحتوى كان كبير جدًا واتقصّ عشان يتعرض.
السجل

تبويب History في الشريط الجانبي بيعرض الطلبات اللي بعتها قبل كده في المشروع ده — الميثود، والمسار، والحالة (أخضر أو أحمر)، والمدة، والوقت. واضغط على أي واحد عشان يرجع تاني. ومسح السجل بيفضّيه. والسجل متحفوظ في فولدر بيانات البرنامج، مش في الريبو خالص.
الاستيراد والتصدير
- cURL داخل وخارج — الصق أمر
curlعشان يتحوّل لطلب، أو صدّر الطلب اللي قدامك عشان تلصقه في ترمينال أو في تيكت. - استيراد Postman v2.1 — بيجيب مجموعة كاملة بمجلداتها المتداخلة.
TLS لكل بيئة
الـ HTTPS المحلي بشهادة موقّعة ذاتيًا (نطاقات .test و Herd و Valet) بيفشل في فحص الشهادة. وكل بيئة ليها مفتاح تجاهل أخطاء TLS الخاص بيها، فتشغيله على local مش بيأثر على prod.
الاختصارات
| المفتاح | الوظيفة |
|---|---|
| Ctrl+Enter | إرسال |
| Ctrl+T | تبويب مؤقت جديد |
| Ctrl+W | قفل التبويب |
| Ctrl+S | حفظ |
