🟧 POST
-
الهدف: إنشاء (Create) جديد من نوع Resource (( عايزين نضيف حاجة جديدة في السيرفر، ومش عارفين الـID بتاعها)).
-
كل مرة نبعت نفس الطلب بيعمل إنشاء جديد
- بيشتغل إزاي؟
بنطلب من السيرفر يضيف مورد جديد، والسيرفر هو اللي بيحدد الـID بتاعه. - 🗯 مثال:
لو عايزين نضيف مستخدم جديد:الطلب:
الطريقة: POST
المسار: /users
الجسم (Body):
{
“name”: “Ahmed”,
“email”: “ahmed@example.com”
}
النتيجة:
السيرفر هيضيف المستخدم الجديد ويحدد له ID، زي مثلاً 123.
🟩 PUT
-
الهدف: تحديث (Update) موجود بالفعل أو إنشاء لو مش موجود ((عايزين نحدّث حاجة موجودة أو ننشئ حاجة جديدة بـID معين احنا عارفينه)).
-
لو بعت نفس الطلب مرتين → النتيجة واحدة
-
المسار (Endpoint): غالبًا
PUT /users/123
-
مثال:
تعدلي بيانات مستخدم موجود بالـ ID 123 → بيتم التحديث مكانه
الطلب:
الطريقة: PUT
المسار: /users/123
الجسم (Body):
{
“name”: “Ahmed”,
“email”: “ahmed@example.com”
}
النتيجة:
لو المستخدم بالـID 123 موجود، هيتم تحديث بياناته. لو مش موجود، هيتعمل مستخدم جديد بالـID ده.
🔹الفرق الرئيسي:POST:
بنستخدمه لما السيرفر هو اللي بيحدد الـID للمورد الجديد.
PUT:
بنستخدمه لما احنا اللي بنحدد الـID، سواء للتحديث أو الإنشاء.
بالتالي، اختيارك بين POST وPUT بيعتمد على إذا كنت عارف الـID للمورد اللي بتتعامل معاه ولا لأ.