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 | Клиентът | Сървърът |
| Влияние върху ресурса | Заменя или създава напълно | Обикновено добавя или извършва действие |