Junior — Middle
Resursların yenilənməsi zamanı HTTP PUT və PATCH metodları arasındakı fərqləri izah edin.
sobes.tech Süni İntellekt
AI-dan cavab
Resursların yenilənməsində HTTP PUT və PATCH metodları arasındakı əsas fərqlər:
- PUT — resursun tam yenilənməsi üçün istifadə olunur. Müştəri resursun tam nümayişini göndərir və server mövcud resursu bu yeni ilə əvəz edir.
- PATCH — resursun qismən yenilənməsi üçün istifadə olunur. Müştəri yalnız dəyişdirilməsi lazım olan sahələri göndərir və server yalnız onları yeniləyir, digər sahələr dəyişməz qalır.
Misal:
Əgər name və email sahələrinə malik istifadəçi obyekti varsa:
- PUT sorğusu ilə hər iki sahəni göndərməlisiniz, əks halda olmayanlar silinə və ya sıfırlanacaq.
- PATCH sorğusu ilə yalnız
emailgöndərə bilərsiniz və server yalnız onu yeniləyəcək.
C# Web API-də metodlar belə görünə bilər:
[HttpPut("users/{id}")]
public IActionResult UpdateUser(int id, User user) {
// İstifadəçini tam yeniləyin
}
[HttpPatch("users/{id}")]
public IActionResult PatchUser(int id, JsonPatchDocument<User> patchDoc) {
// İstifadəçini qismən yeniləyin
}
Beləliklə, PUT tam dəyişiklik üçün idempotent metod, PATCH isə qismən dəyişikliklər üçün istifadə olunur.