Как строить ключ идемпотентности для операции, если пришли запросы с одним operation ID, но разными amount?

Один operation ID должен соответствовать одному неизменному набору параметров. Повтор с другим amount нужно отклонять как конфликт, а не считать новой операцией.

Короткий ответ

Что ответить на собеседовании

Один operation ID должен соответствовать одному неизменному набору параметров. Повтор с другим amount нужно отклонять как конфликт, а не считать новой операцией.

Подробный разбор

Ответ с пояснениями

Один operation ID должен соответствовать одному неизменному набору параметров. Повтор с другим amount нужно отклонять как конфликт, а не считать новой операцией.

Сохраните ключ в области пользователя/операции вместе с нормализованными значимыми параметрами или их отпечатком. При повторе сравните их и верните сохранённый результат только при совпадении. Включение amount в уникальный ключ позволило бы выполнить два списания под одним ID. Проверка и создание записи должны быть атомарны, с учётом состояния выполняющейся операции.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее