Junior — Middle
Avez-vous de l'expérience dans l'utilisation des méthodes PATCH et PUT lors de l'interaction avec des API ou dans le travail avec l'architecture REST?
sobes.tech IA
Réponse de l'IA
Да, опыт использования методов PATCH и PUT при работе с REST API достаточно распространён.
- PUT используется для полного обновления ресурса. При вызове PUT обычно отправляется полное представление объекта, и сервер заменяет существующий ресурс на присланный.
- PATCH применяется для частичного обновления ресурса, когда нужно изменить только некоторые поля, не затрагивая остальные.
Например, при обновлении профиля пользователя:
// PUT - обновить весь профиль
let url = URL(string: "https://api.example.com/user/123")!
var request = URLRequest(url: url)
request.httpMethod = "PUT"
request.httpBody = try? JSONEncoder().encode(fullUserProfile)
// PATCH - обновить только email
request.httpMethod = "PATCH"
let patchData = ["email": "newemail@example.com"]
request.httpBody = try? JSONSerialization.data(withJSONObject: patchData)
Использование PATCH позволяет экономить трафик и уменьшать риск перезаписи данных, которые не должны изменяться.