"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > لماذا تستخدم واجهات برمجة تطبيقات REST طرق HTTP مختلفة (PUT، DELETE، POST، GET)؟

لماذا تستخدم واجهات برمجة تطبيقات REST طرق HTTP مختلفة (PUT، DELETE، POST، GET)؟

تم النشر بتاريخ 2024-12-21
تصفح:698

Why Do REST APIs Utilize Different HTTP Methods (PUT, DELETE, POST, GET)?

واجهات برمجة تطبيقات REST: أهمية طرق HTTP (PUT، DELETE، POST، GET)

في عالم واجهات برمجة تطبيقات RESTful، هناك أمر أساسي السؤال الذي يطرح نفسه: لماذا نستخدم أنواع طلبات HTTP المتعددة، مثل PUT وDELETE وPOST وGET؟ من المهم أن نفهم أن الغرض من REST يتجاوز مجرد الوصول إلى البيانات باستخدام الطريقة الأسهل.

دور REST

"نقل الحالة التمثيلية" (REST) توفر البنية طريقة مفيدة للتفاعل مع البيانات. عند إجراء طلب REST، يجب أن ينقل على الفور الإجراء المقصود الذي سيتم تنفيذه.

مثال: طلبات GET

ضع في اعتبارك نقطة نهاية REST التالية:

الحصول على: /cars/make/chevrolet
GET: /cars/make/chevrolet
من المحتمل أن تعرض نقطة النهاية هذه قائمة بسيارات شيفروليه. باستخدام طلب GET، يحدد المستخدم بوضوح أنه يريد استرداد البيانات، بدلاً من تعديلها.

طلبات POST: إنشاء البيانات

لإنشاء بيانات جديدة، عادةً ما يتم استخدام طلب POST. على سبيل المثال:

المشاركة: /cars/ { الصنع: شيفروليه، الموديل: ماليبو، الألوان: [أحمر، أخضر، أزرق، رمادي]

POST: /cars/
{ make:chevrolet, model:malibu, colors:[red, green, blue, grey] }

طرق Idempotency و HTTP

أساليب HTTP مثل GET يتبع كل من PUT وDELETE مبدأ العجز الجنسي. وهذا يعني أن الاستدعاءات المتكررة لهذه الأساليب يجب أن تؤدي إلى نفس حالة الخادم. من ناحية أخرى، يعتبر POST بشكل عام غير فعال، لأنه يمكن أن يؤدي إلى حالات مختلفة للخادم.

تنفيذ Idempotency

لضمان عدم القدرة مع طلبات POST، فكر في استخدام النمط التالي:POST: /cars/oldest?action=delete

نقطة النهاية هذه بشكل صريح يحدد الإجراء الذي يتعين القيام به (الحذف)، مما يجعله غير فعال. في المقابل، قد يكون طلب مثل:

POST: /cars/oldest?action=delete

غامضًا وغير فعال.

Delete: /cars/oldest
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3