Saud | سعود الانصاري
Saud | سعود الانصاري

@Alansaricodez

9 تغريدة 8 قراءة Jul 31, 2023
❗️ما الفرق بين RestAPI و GraphQL❗️
قد تجد البعض يستخدم احد الطريقتين عند انشاء API خاص بتطبيق ويب، لكن ما هما؟
🟢 RESTful API:
- تعريفه:
تعتمد RESTful API على نمط العمارة المميز للشبكة (REST) للاتصال مع الـ Backend
يتمثل الفكرة في أن المسارات (URLs) تمثل مصادر الموارد والأساليب
(GET، POST، PUT، DELETE)
تمثل العمليات التي يمكن تنفيذها على هذه الموارد
- بنية البيانات:
يتم تبادل البيانات في RESTful API بشكل غالبًا باستخدام JSON
يمكن للعميل أن يحدد البيانات التي يحتاجها من خلال إضافة معلمات الاستعلام (query parameters)
- استجابة الخطأ:
عند حدوث خطأ في RESTful API، غالبًا ما يتم إرجاع رمز الاستجابة مع وصف قصير للخطأ
- طبقات البيانات:
يفصل RESTful API بين طبقات البيانات (Data Layer) وطبقات العرض (Presentation Layer)، مما يجعلها أكثر فعالية وموثوقية
- تنفيذ الاعتماد:
يمكن استخدام بروتوكولات مثل OAuth لتنفيذ الاعتماد وضمان الأمان
🟢 GraphQL:
- تعريفه:
يعتبر GraphQL لغة استعلام وقت التشغيل تمكن العميل من طلب البيانات بدقة من الـ Backend
يمكن للعميل تحديد البيانات التي يحتاجها والحصول عليها بشكل متكامل في استعلام واحد
- بنية البيانات:
يسمح GraphQL بتحديد بنية البيانات المطلوبة من قبل العميل، مما يجعلها طريقة مرنة وفعالة للحصول على البيانات
- استجابة الخطأ:
عند حدوث خطأ في GraphQL، يتم تضمين حقول خاصة بالخطأ مع الاستجابة، مما يجعل تفسير الأخطاء أكثر سهولة للعميل
- طبقات البيانات:
يتم دمج طبقات البيانات وطبقات العرض في GraphQL، مما يسمح بالحصول على بيانات دقيقة بدون طلبات متكررة
- تنفيذ الاعتماد:
يمكن تنفيذ الاعتماد في GraphQL بنفس طريقة RESTful API باستخدام بروتوكولات الاعتماد المعتادة
يعتمد اختيار استخدام RESTful API أو GraphQL على حجم ونوع التطبيق واحتياجاته الخاصة
إذا كنت بحاجة إلى تبادل بيانات بسيطة ومعلومات محددة، قد تكون RESTful API خيارا مناسبا
أما إذا كنت تبحث عن مرونة أكبر واستعلامات مخصصة للاحتياجات الخاصة بك، فقد يكون GraphQL الخيار المناسب لك

جاري تحميل الاقتراحات...