Sobes.tech
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 nameemail 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 email gö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.