في مشهد الرقمية اليوم، أصبح أسلوب بناء و التفاعل مع واجهات برمجة التطبيقات (APIs) مهارة حاسمة للمطورين. تعتبر واجهات برمجة التطبيقات العمود الفقري لتطبيقات الويب الحديثة، حيث تمكن التواصل السلس بين خدمات مختلفة. عند العمل مع واجهات برمجة التطبيقات،工具هما قوتان غالبًا ما تتدخلان هما Axios و GraphQL. عند استخدامها معًا، يمكن أن تسهل وتعزز تجربتك في التطوير بشكل كبير. في هذه التدوينة، سنغوص في عالم Axios و GraphQL، نستكشف كيفية عملهما، ولماذا هما مفيدان، وكيف يمكنك الاستفادة منهما لبناء تطبيقات أكثر كفاءة وقوة. بالإضافة إلى ذلك، سنقدم لك أداة رائعة تسمى Apidog.
ما هو Axios؟
لنبدأ مع Axios. Axios هو عميل HTTP يعتمد على الوعود لـ JavaScript، ويستخدم بشكل أساسي لإجراء طلبات HTTP من المتصفح. غالبًا ما يُفضل على واجهة fetch
الأصلية بسبب سهولة استخدامه وميزاته الإضافية. مع Axios، يمكنك إجراء طلبات من نوع GET
، POST
، PUT
، DELETE
، وأنواع أخرى من الطلبات ببضع سطور من الشيفرة.

الميزات الرئيسية لـ Axios:
- تعتمد على الوعود: يستخدم Axios الوعود، مما يجعل الشيفرة غير المتزامنة الخاصة بك أسهل قراءة وكتابة.
- المؤثرات: تتيح لك تعديل الطلبات أو الاستجابات قبل التعامل معها بواسطة
then
أوcatch
. - التحويلات التلقائية: يقوم Axios بتحويل بيانات JSON تلقائيًا.
- الإلغاء: يمكنك إلغاء الطلبات باستخدام رموز إلغاء Axios.
- التوافق مع المتصفح: يعمل Axios في جميع المتصفحات الرئيسية، بما في ذلك Internet Explorer 11.
ما هو GraphQL؟
GraphQL، من ناحية أخرى، هو لغة استعلام لواجهات برمجة التطبيقات ووقت التشغيل لتنفيذ هذه الاستفسارات. تم تطويره بواسطة Facebook، يوفر GraphQL بديلًا أكثر كفاءة ومرونة لREST من خلال السماح للعملاء بطلب البيانات التي يحتاجون إليها بالضبط. يقلل هذا من جلب البيانات بشكل زائد أو ناقص.
الميزات الرئيسية لـ GraphQL:
- جلب البيانات بشكل إعلاني: يمكن للعملاء تحديد متطلبات البيانات الدقيقة.
- نموذج محدد بوضوح: تعرف واجهات برمجة التطبيقات GraphQL بواسطة نموذج، مما يوفر هيكل واضح ونظام نوع.
- تحديثات فورية: يدعم GraphQL التحديثات الفورية من خلال الاشتراكات.
- استكشافية: يمكن الاستعلام عن واجهات برمجة التطبيقات GraphQL من أجل نموذجها، مما يجعلها موثقة ذاتيًا.
- نقطة نهاية واحدة: تحدث جميع التفاعلات من خلال نقطة نهاية واحدة، مما يبسط الطلبات الشبكية.
لماذا تستخدم Axios مع GraphQL؟
يمكن أن يكون دمج Axios مع GraphQL نقطة تحول في سير عمل تطويرك. يبسط Axios عملية إجراء طلبات HTTP، بينما يوفر GraphQL طريقة أكثر مرونة وكفاءة لاستعلام وتعديل البيانات. معًا، يقدمون العديد من المزايا:
- جلب بيانات فعال: مع GraphQL، يمكنك جلب فقط البيانات التي تحتاجها، و Axios تسهل إرسال هذه الاستفسارات.
- قاعدة شفرة مبسطة: يمكن أن يجعل استخدام بناء جملة Axios المعتمد على الوعود مع استعلامات GraphQL شفرتك أكثر نظافة وصيانة.
- تعزيز إدارة الأخطاء: يمكن أن تحسن مؤثرات Axios مع استجابات GraphQL التفصيلية للأخطاء استراتيجيات إدارة الأخطاء الخاصة بك.
البدء مع Axios و GraphQL
الآن بعد أن فهمنا الأساسيات، دعونا نتناول بعض الشيفرات. سنمر بعملية إعداد مشروع بسيط يستخدم Axios لجلب البيانات من واجهة برمجة تطبيقات GraphQL.
الخطوة 1: إعداد مشروعك
أولاً، لنقم بإعداد مشروع Node.js جديد. افتح وحدة التحكم الخاصة بك وقم بتنفيذ الأوامر التالية:
mkdir axios-graphql
cd axios-graphql
npm init -y
npm install axios graphql
سيؤدي ذلك إلى إنشاء دليل جديد، وتهيئة مشروع Node.js، وتثبيت Axios ومكتبة GraphQL.
الخطوة 2: إنشاء واجهة برمجة تطبيقات GraphQL بسيطة
من أجل هذه الدروس، سنستخدم واجهة برمجة تطبيقات GraphQL بسيطة. يمكنك إعداد واجهتك الخاصة باستخدام أدوات مثل Apollo Server أو استخدام واجهة برمجة تطبيقات GraphQL عامة. للبساطة، سنستخدم واجهة عامة في هذا المثال.
الخطوة 3: كتابة طلب Axios الخاص بك
أنشئ ملفًا جديدًا باسم index.js
وأضف الشيفرة التالية:
const axios = require('axios');
const GRAPHQL_API = 'https://countries.trevorblades.com/';
const query = `
{
countries {
code
name
capital
currency
}
}
`;
axios.post(GRAPHQL_API, { query })
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error('خطأ في جلب البيانات:', error);
});
في هذه الشيفرة، نحن نستخدم Axios لإجراء طلب POST
إلى واجهة برمجة تطبيقات GraphQL العامة التي تقدم معلومات عن البلدان. الاستعلام الذي نرسله يطلب البيانات code
، name
، capital
، و currency
لجميع البلدان.
الخطوة 4: تشغيل الشيفرة الخاصة بك
قم بتشغيل الشيفرة الخاصة بك عن طريق تنفيذ node index.js
في وحدة التحكم الخاصة بك. يجب أن ترى استجابة JSON مع البيانات المطلوبة.
الاستخدام المتقدم: دمج Apidog
بينما توفر Axios و GraphQL مجموعة قوية، هناك أداة أخرى يمكن أن تأخذ تطوير واجهات برمجة التطبيقات إلى المستوى التالي: Apidog. Apidog هي أداة شاملة لإدارة واجهات برمجة التطبيقات تبسط عملية تصميم واختبار وتوثيق واجهات برمجة التطبيقات. تتكامل بسلاسة مع أدوات مثل Axios و GraphQL، مما يجعلها إضافة قيمة لمجموعتك. يمكن استخدام Apidog جنبًا إلى جنب مع Axios و GraphQL.
لماذا تستخدم Apidog؟
- تصميم API: قم بإنشاء وإدارة مواصفات واجهة برمجة التطبيقات باستخدام واجهة رسومية بديهية.
- الاختبار: قم بأتمتة اختبار واجهة برمجة التطبيقات وتأكّد من أن نقاط النهاية تعمل كما هو متوقع.
- التوثيق: إنشاء وثائق واجهة برمجة التطبيقات المفصلة التي تظل محدثة مع الشيفرة الخاصة بك.
- التعاون: شارك تصميمات واجهة برمجة التطبيقات و الوثائق مع فريقك.
Apidog مع Axios
الخطوة 1: افتح Apidog واختر طلب جديد

الخطوة 2: أدخل عنوان URL لنقطة النهاية API التي تريد إرسال طلب إليها، أدخل أي رؤوس أو معلمات سلسلة استعلام ترغب في تضمينها مع الطلب، ثم اضغط على "تصميم" للانتقال إلى واجهة تصميم Apidog.

الخطوة 3: اختر "توليد كود العميل" لتوليد الشيفرة الخاصة بك.

الخطوة 4: انسخ الشيفرة التي تم توليدها باستخدام Axios والصقها في مشروعك.

طلبات HTTP مع Apidog
Apidog يقدم العديد من الميزات المتقدمة التي تعزز قدرته على اختبار طلبات HTTP. هذه الميزات تتيح لك تخصيص طلباتك والتعامل مع سيناريوهات أكثر تعقيدًا بسهولة.
الخطوة 1: افتح Apidog وأنشئ طلبًا جديدًا .

الخطوة 2: ابحث أو أدخل يدويًا تفاصيل واجهة برمجة التطبيقات لطلب POST الذي ترغب في إجراءه.

الخطوة 3: املأ المعلمات المطلوبة وأي بيانات ترغب في تضمينها في جسم الطلب.

دمج Apidog مع GraphQL الخاص بك
بمجرد تثبيت Apidog، يمكنك استيراد نموذج GraphQL الخاص بك لإدارة واختبار واجهة برمجة التطبيقات الخاصة بك بشكل أكثر كفاءة. انتقل إلى قسم الاستيراد في Apidog وحمّل ملف schema.graphqls
الخاص بك.

أدخل استفسارك في مربع الاستعلام في علامة "تشغيل". يمكنك أيضًا النقر على زر جلب النموذج اليدوي في مربع الإدخال لتمكين ميزة "إكمال الشيفرة" لتعبيرات الاستعلام، مما يساعد في إدخال بيانات الاستعلام.

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

تطبيقات في العالم الحقيقي
باستخدام Axios و GraphQL معًا، جنبًا إلى جنب مع أداة مثل Apidog، تفتح أمامك عالماً من الاحتمالات لتطبيقات العالم الحقيقي. إليك بعض الأمثلة على كيفية الاستفادة من هذه التقنيات:
بناء تطبيق الطقس
تخيل بناء تطبيق طقس يوفر تحديثات الطقس في الوقت الفعلي للمدن المختلفة. مع GraphQL، يمكنك استعلام فقط البيانات التي تحتاجها (مثل درجة الحرارة، الرطوبة، سرعة الرياح) لمدينة معينة، ويمكن أن تدير Axios طلبات HTTP. يمكن أن تساعدك Apidog في تصميم واجهة برمجة التطبيقات الخاصة بك واختبارها، لضمان عملها بشكل مثالي.
منصة التجارة الإلكترونية
بالنسبة لمنصة التجارة الإلكترونية، قد تحتاج إلى جلب تفاصيل المنتجات، ومراجعات المستخدمين، وحالة المخزون. يتيح لك GraphQL طلب كل هذه المعلومات في استعلام واحد، و Axios يجعل من السهل إرسال الطلب. يمكن أن تقوم Apidog بأتمتة الاختبار لسيناريوهات مختلفة، مثل المنتجات غير المتوفرة أو معرّفات المنتجات غير الصالحة.
لوحة تحكم وسائل التواصل الاجتماعي
قد تحتاج لوحة تحكم وسائل التواصل الاجتماعي إلى سحب بيانات من مصادر متعددة، مثل ملفات تعريف المستخدمين، والمنشورات، والتعليقات. يمكن أن يجمع GraphQL هذه البيانات في استجابة واحدة، ويمكن أن تدير Axios الطلبات. تضمن Apidog أن تظل واجهة برمجة التطبيقات موثوقة من خلال تشغيل اختبارات تلقائية.
أفضل الممارسات لاستخدام Axios و GraphQL
للحصول على أفضل استفادة من Axios و GraphQL، حافظ على هذه الممارسات الجيدة في الاعتبار:
تحسين الاستفسارات
مع GraphQL، من السهل جلب بيانات زائدة. اطلب دائمًا فقط الحقول التي تحتاجها لتقليل كمية البيانات المنقولة عبر الشبكة.
تعامل مع الأخطاء بلطف
كلا من Axios و GraphQL يوفران معلومات تفصيلية حول الأخطاء. استخدم هذه المعلومات للتعامل مع الأخطاء بلطف وتقديم ملاحظات ذات مغزى لمستخدميك.
أمن واجهة برمجة التطبيقات الخاصة بك
الأمان أمر بالغ الأهمية. استخدم HTTPS لتشفير البيانات أثناء النقل، وطبق آليات المصادقة والتفويض لحماية نقاط النهاية في واجهة برمجة التطبيقات الخاصة بك.
استخدم المؤثرات
استفد من مؤثرات Axios لإضافة منطق مخصص إلى طلباتك واستجاباتك. يمكن أن يتضمن ذلك إضافة رموز المصادقة، أو تسجيل الطلبات، أو تعديل الاستجابات.
ابق على اطلاع
كل من Axios و GraphQL يتم صيانتهما بنشاط. ابق على اطلاع بأحدث الإصدارات للاستفادة من الميزات الجديدة والتحديثات الأمنية.
الخاتمة
في الختام، تعتبر Axios و GraphQL أدوات قوية، وعند استخدامها معًا، يمكن أن تعزز بشكل كبير من عملية تطوير واجهات برمجة التطبيقات الخاصة بك. من خلال الاستفادة من بساطة Axios في طلبات HTTP ومرونة GraphQL في استعلام البيانات، يمكنك بناء تطبيقات أكثر كفاءة وقابلية للصيانة. بالإضافة إلى ذلك، يمكن أن يساعد دمج Apidog في سير العمل الخاص بك في تبسيط تصميم واجهات برمجة التطبيقات واختبارها وتوثيقها، مما يضمن أن واجهات برمجة التطبيقات الخاصة بك قوية وموثوقة.
إذًا، ماذا تنتظر؟ ابدأ في استكشاف عالم Axios و GraphQL اليوم، ولا تنسَ التحقق من Apidog لتجربة تطوير أكثر سلاسة. قم بتحميل Apidog مجانًا وانظر كيف يمكن أن يحدث ثورة في سير العمل الخاص بك للواجهات.