Веб-версияОткрыть в Telegram

ВеткаКак защитить API от повторного выполнения операций

2 сообщения · –
💻
Фотография
нажмите — покажем
Как защитить API от повторного выполнения операций Классика: клиент шлёт POST, сервер уже всё сделал, но ответ потерялся по тайм-ауту. Клиент повторяет запрос — и без защиты сервер второй раз создаёт ресурс, меняет состояние или отправляет письмо. Решает это идемпотентность. Эндпоинт связывает уникальный ключ операции с отпечатком тела запроса и сохранённым результатом. Первый обработчик атомарно резервирует ключ, так что параллельные запросы не запускают операцию заново. Дальше логика простая: — повтор с тем же телом → отдаём прежний результат — тот же ключ, но другое содержимое → 409 Conflict Полноценный контракт учитывает ещё статус незавершённой обработки, срок жизни ключей и внешние эффекты. Событие для очереди пишем вместе с результатом в одной транзакции — тогда повтор не породит второе действие. Подписывайся, чтобы не пропустить разборы по бэкенду и архитектуре — выходят регулярно #API #backend #идемпотентность
❤4🔥3🤩1🥰1👏1🎉1👍1😁1
986 ·
  1. 🤍
    ну зато будет что вспомнить
    🤬1
🪬🪬 CHAT | Technology | Developer🪬 CHAT | Technology | Developer@technology_IT_program_AI · группа · Технологии
389участников34пишущих за 30 дней
Лента площадки Открыть в Telegram

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Чего мы не делаем · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем