Что такое идемпотентность?
Идемпотентность — это свойство операции, при котором несколько одинаковых вызовов дают один и тот же результат, не изменяя состояние системы дополнительно.
1️⃣ Примеры в HTTP
GET
Да
Запрос данных не изменяет ресурс, любой повторный GET даст те же данные.
PUT
Да
Полное обновление ресурса: повторный PUT с одинаковыми данными не изменит результат.
PATCH
Частично
Частичное обновление, повторный запрос с теми же изменениями не меняет результат, но важно учитывать бизнес-логику.
DELETE
Да
Удаление ресурса: повторный DELETE не создаёт новый эффект, ресурс уже удалён.
POST
Нет
Создание ресурса: повторный POST создаст новый объект, результат изменяется.
2️⃣ Зачем это важно
Надёжность API
Если запрос повторяется из-за сетевой ошибки, идемпотентные методы не ломают данные.
Безопасность операций
Например, повторная отправка формы с оплатой не должна списывать деньги несколько раз.
Тестирование QA
Проверка, что методы действительно идемпотентны, помогает выявлять баги в бизнес-логике и обработке ошибок.
Last updated
Was this helpful?