Sobes.tech
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 email yuborishingiz 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.