تتواصل واجهات برمجة التطبيقات REST من خلال طلبات HTTP لأداء وظائف قاعدة البيانات القياسية مثل إنشاء السجلات وقراءتها وتحديثها وحذفها (المعروفة أيضًا باسم CRUD) داخل المورد.
على سبيل المثال، ستستخدِم واجهة برمجة التطبيقات REST طلب GET لاسترداد سجل. يُنشئ طلب "POST" سجلًا جديدًا. يحدِّث طلب "PUT" السجل، ويحذف طلب "DELETE" السجل. يمكن استخدام جميع أساليب HTTP في استدعاءات واجهة برمجة التطبيقات. تشبه واجهة برمجة التطبيقات REST المصممة جيدًا موقع ويب يعمل في متصفح ويب مزود بوظيفة HTTP مضمنة.
تُعرَف حالة المورد في أي لحظة معينة، أو الطابع الزمني، بأنها تمثيل المورد. يمكن تسليم هذه المعلومات إلى العميل بأي صيغة تقريبًا، بما في ذلك ترميز JavaScript Object Notation (اختصارًا JSON)، أو HTML، أو XLT، أو Python، أو PHP أو النص العادي. تحظى JSON بشعبية كبيرة لأنها قابلة للقراءة من قِبل كل من البشر والآلات، كما أنها لغة برمجة محايدة.
تُعَد رؤوس الطلبات والمَعلمات أيضًا مهمة في استدعاءات واجهات برمجة التطبيقات REST لأنها تحتوي على معلومات تعريفية مهمة مثل البيانات الوصفية، والتفويضات، ومعرِّفات الموارد الموحَّدة (URIs)، والتخزين المؤقت، وملفات تعريف الارتباط وغير ذلك. تُستخدم رؤوس الطلبات ورؤوس الاستجابات، إلى جانب أكواد حالة HTTP التقليدية، ضمن واجهات برمجة التطبيقات REST المصممة بشكل جيد.
مقارنة بين GraphQL وواجهة برمجة تطبيقات REST: ما الفرق بينهما؟