Sobes.tech
Junior

Разкажете за метода PUT в REST API.

sobes.tech AI

Отговор от AI

Методът PUT се използва за създаване или актуализиране на ресурс на посочения URI.

Ключови характеристики:

  • Идемпотентност: Повторното изпълнение на същия PUT с едно и също тяло ще доведе до същото състояние на ресурса на сървъра (макар че отговорът на сървъра може да варира).
  • Пълна замяна: PUT изпраща пълна репрезентация на ресурса, която заменя съществуващия.
  • Създаване или актуализация: Ако ресурсът на посочения URI не съществува, PUT го създава. Ако съществува, го актуализира. Успешният PUT обикновено връща статус 201 Created, ако ресурсът е бил създаден. Актуализацията на съществуващ ресурс обикновено връща 200 OK или 204 No Content (ако няма тяло в отговора).

Типични сценарии за използване:

  • Пълна актуализация на потребителския профил.
  • Създаване на ресурс, ако клиентът определя неговия URI.

Пример за PUT заявка:

PUT /users/123 HTTP/1.1
Host: api.example.com
Content-Type: application/json

{
  "id": 123,
  "name": "Ново Име",
  "email": "new.email@example.com"
}

Сървърът ще получи тази заявка и ще създаде потребител с id=123 или ще замени изцяло информацията за потребителя с това ID с данните от тялото на заявката.

PUT се различава от POST по следния начин:

  • PUT се използва за актуализиране или създаване на ресурс на известен URI, който определя клиентът. POST се използва за създаване на ресурс, където сървърът определя URI-то на новия ресурс, или за други действия, които не попадат под други HTTP методи.
  • PUT е идемпотентен, POST — не. Многократни POST заявки с едно и също тяло могат да създадат няколко еднакви ресурса или да причинят различни странични ефекти.

Таблица за сравнение PUT и POST:

Характеристика PUT POST
Цел Създаване или актуализиране на ресурс Създаване на ресурс, изпращане на данни
Идемпотентност Да Не
Определяне на URI От клиента От сървъра
Влияние върху ресурса Заменя или създава напълно Обикновено добавя или извършва действие