Java библиотека
POST не идемпотентен.
PUT — идемпотентен.
PATCH — зависит от реализации.
Ошибка в этих свойствах ломает ретраи.
Идемпотентность означает: один и тот же запрос даёт один и тот же результат.
Это важно, потому что сеть нестабильна, а клиенты делают повторные запросы.
Неидемпотентные эндпоинты дублируют побочные эффекты.
Два запроса могут означать две оплаты или два заказа.
GET — идемпотентен.
PUT — идемпотентен.
DELETE — идемпотентен.
POST — не идемпотентен.
PATCH — зависит (инкремент vs установка значения).
Для неидемпотентных эндпоинтов используют идемпотентные ключи:
клиент отправляет уникальный ключ,
сервер сохраняет ключ и ответ,
повтор с тем же ключом возвращает тот же результат.
Так устроены платёжные системы.
Без этого ретраи превращаются в дублирование операций.
Java Библиотека | Мы в Телеграм Если у вас установлено приложение,
вы можете сразу перейти в канал