استرجاع البيانات مع الجسم والرأس: دليل شامل

استكشف عالم واجهات برمجة التطبيقات مع دليلنا الشامل حول كيفية استخدام دالة fetch لإرسال طلب GET مع جسم ورأس. تعلم أساسيات fetch، وفهم هيكل طلب fetch، وشاهد مثالًا عمليًا.

Amir Hassan

Amir Hassan

16 أغسطس 2025

استرجاع البيانات مع الجسم والرأس: دليل شامل

Apidog للمؤسسات

النشر على الخوادم المحلية

SSO و RBAC

متوافق مع SOC 2

استكشف Apidog للمؤسسات

إحدى المهام الأكثر أهمية هي جلب البيانات من الخوادم. هذه العملية، التي تتضمن إرسال الطلبات واستقبال الاستجابات، هي العمود الفقري لمعظم تطبيقات الويب الحديثة. توفر هذه المقالة دليلًا شاملاً لجلب البيانات مع الجسم والرأس، وهما عنصران أساسيان في أي طلب HTTP. سواء كنت مطورًا مخضرمًا أو مبتدئًا بدءًا من البداية، ستمكنك هذه المقالة بالمعرفة والمهارات التي تحتاجها لجلب البيانات بشكل فعال في تطبيقاتك. دعونا نبدأ!

💡
أخبار رائعة! احصل على ApiDog، أداة اختبار API المتكاملة الخاصة بك، متاحة الآن للتنزيل المجاني! لا تنتظر، ارتق باختبار API الخاص بك مع ApiDog اليوم! �
button

فهم جلب البيانات

وظيفة fetch() هي أداة قوية في JavaScript لإجراء طلبات الشبكة. إليك لماذا قد تود استخدامها وكيفية استخدامها:

إليك مثال أساسي عن كيفية استخدام fetch() لإجراء طلب GET:

fetch('https://example.com/data')
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error('خطأ:', error));

في هذا المثال، يتم استدعاء fetch() مع عنوان URL للموارد التي تريد جلبها. ترجع الوظيفة Promise التي تحل إلى الاستجابة لهذا الطلب، سواء كانت ناجحة أم لا. يمكنك بعد ذلك استخدام طريقة .json() لتحليل بيانات الاستجابة كـ JSON.

استخدام Fetch مع الجسم والرأس

عند استخدام واجهة برمجة تطبيقات Fetch في JavaScript، يمكنك تضمين الرؤوس وجسم في طلب GET الخاص بك. ومع ذلك، من المهم ملاحظة أنه وفقًا لمواصفة HTTP/1.1، يجب ألا يتضمن طلب GET جسمًا. بينما قد تقبل بعض الخوادم ذلك، قد ترفضه أو تتجاهله خوادم أخرى.

إليك مثال عن كيفية هيكلة طلب fetch مع الرؤوس:

fetch('https://api.example.com/data', {
  method: 'GET',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer YOUR_TOKEN_HERE'
  }
})
.then(response => response.json())
.then(data => console.log(data))
.catch((error) => {
  console.error('خطأ:', error);
});

في هذا المثال، نرسل طلب GET إلى ‘https://api.example.com/data’. نحن نضمّن رأيين: ‘Content-Type’ و ‘Authorization’. يشير رأس ‘Content-Type’ إلى أننا نرسل بيانات JSON. يتضمن رأس ‘Authorization’ رمز مميز للتفويض.

إذا كنت ترغب في تضمين جسم في طلب fetch الخاص بك، قد ترغب في استخدام طريقة HTTP مختلفة، مثل POST. إليك مثال:

fetch('https://api.example.com/data', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer YOUR_TOKEN_HERE'
  },
  body: JSON.stringify({
    key1: 'value1',
    key2: 'value2'
  })
})
.then(response => response.json())
.then(data => console.log(data))
.catch((error) => {
  console.error('خطأ:', error);
});

في هذا المثال، نرسل طلب POST بدلاً من طلب GET. نحن نضمّن نفس الرؤوس، ولكننا نضمّن أيضًا جسمًا. الجسم هو سلسلة JSON تمثل كائن JavaScript.

كيفية إرسال طلبات GET مع الجسم والرأس باستخدام Apidog

Apidog هي أداة قوية يمكن أن تساعدك في إرسال طلبات GET مع معلمات الجسم والرأس بشكل أكثر سهولة.

button

مع الرأس:

افتح Apidog وانقر على زر طلب جديد.

واجهة Apidog

أدخل عنوان URL لنقطة نهاية واجهة برمجة التطبيقات التي تريد إرسال طلب GET إليها، ثم انقر على علامة التبويب الرؤوس واختر الخيار الذي تريده. في هذا المثال، نختار التفويض.

علامة تبويب رؤوس Apidog

أضف بيانات اعتمادك (بيانات التحقق الفعلية المطلوبة من الخادم مثل اسم المستخدم/كلمة المرور، الرمز، التجزئة)

إضافة بيانات الاعتماد

أرسل الطلب وحلل الاستجابة.

تحليل الاستجابة.

يسهل Apidog العمل مع رؤوس التفويض، لذا يمكنك اختبار واجهات برمجة التطبيقات الخاصة بك بثقة!

مع الجسم:

اختبار طلبات GET مع جسم قد يكون صعبًا بعض الشيء لأن المواصفة HTTP تعتبر تقليديًا أن طلبات GET غير متغيرة (مما يعني أنها لا تغير حالة الخادم). ومع ذلك، قد تسمح بعض واجهات برمجة التطبيقات بسلوك مخصص حيث يمكنك تضمين جسم الطلب حتى في طلبات GET.

قم بالتبديل إلى علامة التبويب "الجسم" واختر مواصفة الجسم التي تريد إضافتها.

مواصفة جسم الطلب

أرسل الطلب وتحقق من أن رمز حالة الاستجابة هو جيد.

استجابة

تذكر أنه بينما قد لا يكون اختبار طلبات GET مع جسم أمرًا شائعًا، من الضروري فهم سلوك واجهة برمجة التطبيقات الخاصة بك وضمان اختبار شامل لجميع السيناريوهات. يمكن أن تبسط Apidog هذه العملية من خلال توفير أدوات لتصميم واجهات برمجة التطبيقات، وتصحيح الأخطاء، والاختبار.

استخدام Apidog لتوليد كود Fetch تلقائيًا

يسمح لك Apidog أيضًا بتوليد كود Fetch تلقائيًا لإجراء طلبات HTTP. إليك كيفية استخدام Apidog لتوليد كود Fetch:

  1. أدخل أي رؤوس أو معلمات سلسلة الاستعلام التي تريد إرسالها مع الطلب، ثم انقر على زر توليد كود.

2. انسخ كود Fetch المولد والصقه في مشروعك.

أفضل الممارسات لطلبات Fetch مع الجسم والرؤوس

إليك بعض أفضل الممارسات لاستخدام واجهة برمجة تطبيقات Fetch مع الجسم والرؤوس:

  1. استخدم الوعود: تم بناء واجهة برمجة تطبيقات Fetch على الوعود، التي توفر تحكمًا أفضل في العمليات غير المتزامنة. تتيح الوعود معالجة الأخطاء بشكل أكثر بساطة، مما يتجنب الحاجة إلى ردود النداء أو إدارة مستمعي الأحداث.
  2. بنية أبسط: مقارنة بـ XMLHttpRequest، توفر واجهة برمجة التطبيقات Fetch بنية أكثر حداثة ووضوحًا. تستخدم نهجًا قائمًا على الوعود، مما يسمح للمطورين بسلسلة الأساليب ومعالجة الاستجابات باستخدام async/await، مما يؤدي إلى كود أنظف وأسهل في القراءة.
  3. تسهيل معالجة الاستجابة: ترجع واجهة برمجة التطبيقات Fetch كائن Response يوفر طرقًا ملائمة للوصول إلى بيانات الاستجابة، بما في ذلك تحليل JSON، واستخراج النصوص، وقراءة رؤوس الاستجابة. تبسط العملية الخاصة باستخراج ومعالجة البيانات من الاستجابة.
  4. دعم تقاسم الموارد عبر الحدود (CORS): تتعامل واجهة برمجة التطبيقات Fetch مع تقاسم الموارد عبر الحدود (CORS) بشكل أكثر وضوحًا.
  5. معالجة الأخطاء: دائمًا ما يجب أن تتضمن معالجة الأخطاء في طلبات fetch الخاصة بك. يمكنك استخدام .catch() للتعامل مع أي أخطاء قد تحدث أثناء عملية fetch.
  6. الرؤوس: عند إجراء طلب POST، من المهم تعيين رأس Content-Type إلى application/json إذا كنت ترسل بيانات JSON. هذا يعلم الخادم بنوع البيانات التي يمكن توقعها.
  7. الجسم: بالنسبة لطلب POST، يمكنك استخدام خاصية body لتمرير سلسلة JSON كمدخل. يجب أن تكون جسم الطلب سلسلة JSON بينما يجب أن تكون الرؤوس كائن JSON.
  8. تحويل بيانات JSON الخاصة بك إلى سلسلة: تأكد من تحويل بيانات JSON الخاصة بك إلى سلسلة قبل إرسالها إلى الخادم. هذا يحوّل كائن JavaScript إلى سلسلة، يمكن بعد ذلك إرسالها عبر الشبكة.

الخاتمة

في الختام، فإن عملية جلب البيانات مع الجسم والرأس هي جانب حيوي من تطوير الويب الحديث. لقد قدمت هذه الدليل الشامل نظرة عميقة على الطرق والتقنيات وأفضل الممارسات المعنية في هذه العملية. لقد استكشفنا كيفية هيكلة الطلبات، وأهمية الرؤوس في نقل البيانات الوصفية، ودور الجسم في نقل البيانات الفعلية. فهم هذه المفاهيم هو المفتاح لبناء تطبيقات فعالة وآمنة وقوية. مع استمرار تطور التكنولوجيا، ستستمر الطرق التي نستخدمها لجلب البيانات. ومع ذلك، ستظل المبادئ الموضحة في هذا الدليل جزءًا أساسيًا من هذا المشهد المتغير باستمرار. برمجة سعيدة!

button

ممارسة تصميم API في Apidog

اكتشف طريقة أسهل لبناء واستخدام واجهات برمجة التطبيقات