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
emailgö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.