اتكلمنا قبل كدا عن ايه هي ال Http status codes وليه مهمة في تصميمنا لـ APIs , النهارده هنتكلم عن أشهر 15 status code منهم وعاملين cheat sheet بيهم تقدر تساعدك في انك تفتكر استخداماتهم سريعًا في وقت الشغل.
Success Codes 2xx
1- 200 OK
يعبر عن تنفيذ ال request و ايصاله لل client بنجاح
2- 201 Created
يستخدم هذا الكود ليعبر عن إنشاء resource جديد بنجاح
و يستخدم مع ال POST Method ويمكنك أن تعيد معه أيضَا ال resource ID
3- 202 Accepted
يعبر عن قبول الطلب بنجاح ولكنه لا يزال قيد التنفيذ على ال server , ويمكنك أن تستخدم هذا الكود حينما يفوض السيرفر الطلب لسيرفر أخر أو background task قد تستغرق وقتًا
HTTP/1.1 202 Accepted
Content-Type: application/json
{
"message": "Request accepted for processing",
"status_uri": "/status/123"
Redirect Codes 3xx
4- 301 Moved Permanently
عندما تقوم بتغيير ال URL يمكنك أن تستخدم هذا الكود لتوضح أنه قد تم نقل الAPI لعنوان جديد بدلاً من العنوان المستخدم في هذا الطلب وفي ال response body تضع العنوان الجديد ليتم استخدامه فيما بعد.
HTTP/1.1 301 Moved Permanently
Location: https://example.com/new-location
Content-Type: text/html
5- 302 Found (Moved Temporarily)
يستخدم هذا الكود في حالة تغيير عنوان ال API لعنوان آخر بشكل مؤقت لعمل صيانة أو تحديث لل API علي هذا العنوان, يقوم ال client بعمل redirect للعنوان المؤقت الجديد و لكن فيما بعد يستطيع العودة لاستخدام ال URL القديم.
6- 304 Not Modified
يستخدم هذا الكود في حالة ال conditional GET حيث يتم إرسال if-modified-since بداخل الـ request headers فيجيب الserver بهذا الكود كي يعلم ال client بأن الـ resource لم يتغير ويمكن لل client استخدام النسخة التي لديه في الـ cache.