Sobes.tech
Back to questions
Junior — Middle
67

Имеете ли вы опыт использования методов PATCH и PUT при взаимодействии с API или в работе с REST-архитектурой?

Companies where asked
Touch Instinct

Answer from AI

sobes.tech AI

Да, опыт использования методов 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 позволяет экономить трафик и уменьшать риск перезаписи данных, которые не должны изменяться.