Встречается на собеседованиях • сегодня

Приходилось ли сталкиваться с задачей как сделать POST запрос идемпотентным

Идемпотентность POST-запроса означает, что повторные одинаковые запросы не изменяют состояние сервера после первого выполнения.

Способы:

  1. Использование уникального ключа (idempotency-key) – клиент генерирует уникальный ключ, сервер сохраняет его и результат первого запроса, при повторных запросах возвращает тот же результат.
  2. Проверка состояния перед выполнением – например, проверка существования объекта перед созданием.

Пример с idempotency-key:

python
import requests

def make_idempotent_post(url, data):
    headers = {'Idempotency-Key': 'unique-key-123'}
    response = requests.post(url, json=data, headers=headers)
    return response.json()

Важно:

  • Сервер должен хранить ключи временно (например, в Redis).
  • Клиент обязан генерировать уникальные ключи для каждого нового запроса.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы