Sobes.tech
Junior — Middle

Kaynakları güncellerken HTTP PUT ve PATCH yöntemleri arasındaki farkları açıklayın.

sobes.tech yapay zeka

AI'dan gelen yanıt

Kaynakları güncellemek için HTTP PUT ve PATCH yöntemleri arasındaki temel farklar:

  • PUT — kaynağın tam güncellemesi için kullanılır. İstemci, kaynağın tam bir temsilini gönderir ve sunucu mevcut kaynağı bu yeniyle değiştirir.
  • PATCH — kaynağın kısmi güncellemesi için kullanılır. İstemci sadece değiştirilmesi gereken alanları gönderir ve sunucu sadece bunları günceller, diğerleri değişmeden kalır.

Örnek:

name ve email alanlarına sahip bir kullanıcı nesneniz varsa:

  • PUT isteğiyle her iki alanı da göndermelisiniz, aksi takdirde eksik olanlar silinir veya sıfırlanır.
  • PATCH isteğiyle sadece email gönderebilir ve sunucu sadece onu günceller.

C# Web API'de metodlar şu şekilde görünebilir:

[HttpPut("users/{id}")]
public IActionResult UpdateUser(int id, User user) {
    // Kullanıcıyı tam güncelle
}

[HttpPatch("users/{id}")]
public IActionResult PatchUser(int id, JsonPatchDocument<User> patchDoc) {
    // Kullanıcıyı kısmi güncelle
}

Bu nedenle, PUT tam bir değişim için idempotent bir yöntemdir, PATCH ise kısmi değişiklikler içindir.