Fuente
Затишна Галера | ЧарівнийКомпас 🧭2️⃣3️⃣2️⃣ Завдання 232Що таке «ідемпотентність» для HT...
697 Vistas/Alcance
2026-03-16 14:28
Mensaje №2496
#ЧарівнийКомпас 🧭2️⃣3️⃣2️⃣ Завдання 232Що таке «ідемпотентність» для HTTP PUT - наведіть практичний приклад перевірки.🤔 Ідемпотентність означає, що якщо один і той самий запит виконати кілька разів поспіль, результат на сервері буде таким самим, як після одного виконання. Тобто повторний запит не повинен далі змінювати стан ресурсу.Для HTTP PUT це означає, що ми не додаємо щось щоразу, а встановлюємо ресурс у конкретний стан.Наприклад, якщо є запит до API для сутності користувача PUT /users/123 і ми надсилаємо тіло запиту з новим ім’ям і обов’язковими деталями користувача, то перший запит оновить/створить користувача. Якщо я надішлю абсолютно такий самий PUT ще раз, стан користувача не повинен змінитися ще раз - ім’я залишиться тим самим, жодних додаткових дій відбуватися не повинно.На практиці, рекомендую перевіряти так: спочатку робимо PUT-запит із певним тілом, наприклад змінюємо поле email у користувача. Перевіряємо відповідь сервера і потім робимо GET, щоб переконатися, що дані справді оновилися. Після цього надсилаємо той самий PUT вдруге і втретє (про всяк випадок) з тим самим тілом запиту. Потім знову роблю GET і перевіряю, що стан ресурсу не змінився і залишається таким самим, як після першого запиту. Тобто дані не дублюються, не створюються додаткові записи, а сама операція не має додатково змінювати стан ресурсу. Це і підтверджує ідемпотентність операції.@Zatishna_Galera