مرجع سريع

ورقة غش واجهات RESTful API

دليل مرجعي سريع لواجهات RESTful API: دلالات أساليب HTTP، رموز الحالة القياسية، بنيات أخطاء JSON، الترويسات، والتكرار الآمن (Idempotency).

· تاريخ النشر

يمثل REST (Representational State Transfer) نمطاً معمارياً لتصميم خدمات واجهات برمجة التطبيقات الشبكية عبر بروتوكول HTTP.

أفعال HTTP ودلالاتها

الطريقة الإجراء المستهدف آمن متكرر بأمان
GET استرداد تمثيل المورد نعم نعم
POST إنشاء مورد فرعي جديد لا لا
PUT استبدال تمثيل المورد بالكامل لا نعم
PATCH تحديث خصائص المورد جزئياً لا لا
DELETE حذف المورد لا نعم
HEAD استرداد الترويسات بدون جسم الاستجابة نعم نعم
OPTIONS الاستعلام عن أساليب HTTP المدعومة لنقطة النهاية نعم نعم

رموز حالة استجابة HTTP الشائعة

النجاح (2xx)

  • 200 OK: نجح الطلب (يحتوي جسم الاستجابة على التمثيل).
  • 201 Created: تم إنشاء المورد بنجاح (توضح ترويسة Location مسار URI).
  • 202 Accepted: تم قبول الطلب للمعالجة غير المتزامنة.
  • 204 No Content: نجح الإجراء مع عدم إرجاع جسم للاستجابة (شائع مع DELETE).

أخطاء العميل (4xx)

  • 400 Bad Request: صياغة غير صالحة أو معاملات خاطئة أو فشل التحقق.
  • 401 Unauthorized: المصادقة مفقودة أو غير صالحة.
  • 403 Forbidden: المستخدم مصادق عليه لكنه يفتقر لصلاحية الوصول إلى المورد.
  • 404 Not Found: مسار URI للمورد غير موجود.
  • 409 Conflict: يتعارض الطلب مع الحالة الحالية للمورد (مثلاً تكرار مفتاح فريد).
  • 422 Unprocessable Entity: طلب سليم الصياغة لكنه فشل في التحقق الدلالي للنطاق.
  • 429 Too Many Requests: تم تجاوز حد معدل الطلبات (Rate Limit).

أخطاء الخادم (5xx)

  • 500 Internal Server Error: فشل عام غير معالج من جانب الخادم.
  • 502 Bad Gateway: أرجع الخادم المنبع (Upstream) استجابة غير صالحة.
  • 503 Service Unavailable: الخادم محمّل فوق طاقته أو قيد الصيانة.

مغلف الخطأ القياسي بصيغة JSON

{
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "The email address provided is already registered.",
    "details": [
      {
        "field": "email",
        "issue": "unique_constraint_violated"
      }
    ]
  }
}

المراجع

موضوعات ذات صلة