Junior — Middle
Ресурстарды жаңыртууда HTTP PUT жана PATCH ыкмаларынын айырмалуулугун түшүндүрүңүз.
sobes.tech AI
AIден жооп
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 bu 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 har 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
}
Duk, PUT to'liq almashtirish uchun idempotent metod bo'lib, PATCH — qisman o'zgarishlar uchun ishlatiladi.