Что такое идемпотентность?

Идемпотентность — это свойство операции, при котором несколько одинаковых вызовов дают один и тот же результат, не изменяя состояние системы дополнительно.


1️⃣ Примеры в HTTP

Метод HTTP
Идемпотентность
Пояснение

GET

Да

Запрос данных не изменяет ресурс, любой повторный GET даст те же данные.

PUT

Да

Полное обновление ресурса: повторный PUT с одинаковыми данными не изменит результат.

PATCH

Частично

Частичное обновление, повторный запрос с теми же изменениями не меняет результат, но важно учитывать бизнес-логику.

DELETE

Да

Удаление ресурса: повторный DELETE не создаёт новый эффект, ресурс уже удалён.

POST

Нет

Создание ресурса: повторный POST создаст новый объект, результат изменяется.


2️⃣ Зачем это важно

  1. Надёжность API

  • Если запрос повторяется из-за сетевой ошибки, идемпотентные методы не ломают данные.

  1. Безопасность операций

  • Например, повторная отправка формы с оплатой не должна списывать деньги несколько раз.

  1. Тестирование QA

  • Проверка, что методы действительно идемпотентны, помогает выявлять баги в бизнес-логике и обработке ошибок.

Last updated

Was this helpful?