Junior — Middle
Resurslarni yangilashda HTTP PUT va PATCH usullari o'rtasidagi farqlarni tushuntiring.
sobes.tech AI
AIdan javob
Resurslarni yangilashda HTTP PUT va PATCH metodlari o'rtasidagi asosiy farqlar:
- PUT — resursning to'liq yangilanishi uchun ishlatiladi. Mijoz resursning to'liq taqdimotini yuboradi va server mavjud resursni yangi bilan o'zgartiradi.
- PATCH — resursning qisman yangilanishi uchun ishlatiladi. Mijoz faqat o'zgartirilishi kerak bo'lgan maydonlarni yuboradi va server faqat ularni yangilaydi, qolganlari o'zgarmasdan qoladi.
Misol:
Agar sizda name va email maydonlariga ega foydalanuvchi obyekti bo'lsa:
- PUT so'rovi bilan ikkala maydonni ham yuborishingiz kerak, aks holda yo'q bo'lganlar o'chiriladi yoki resetlanadi.
- PATCH so'rovi bilan faqat
emailyuborishingiz mumkin va server faqat uni yangilaydi.
C# Web API da metodlar quyidagicha ko'rinishi mumkin:
[HttpPut("users/{id}")]
public IActionResult UpdateUser(int id, User user) {
// Foydalanuvchini to'liq yangilash
}
[HttpPatch("users/{id}")]
public IActionResult PatchUser(int id, JsonPatchDocument<User> patchDoc) {
// Foydalanuvchini qisman yangilash
}
Shunday qilib, PUT to'liq almashtirish uchun idempotent metod bo'lib, PATCH qisman o'zgarishlar uchun ishlatiladi.