واجهات برمجة تطبيقات 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