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

Как можно сделать POST запрос идемпотентным

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

  1. Использование уникального идентификатора запроса (idempotency-key)
    Клиент генерирует уникальный ключ и отправляет его в заголовке. Сервер сохраняет результат первого запроса и возвращает его при повторных запросах с тем же ключом.
python
import requests

idempotency_key = "unique_key_123"
response = requests.post(
    "https://api.example.com/resource",
    json={"data": "value"},
    headers={"Idempotency-Key": idempotency_key}
)
  1. Проверка существования ресурса
    Перед созданием проверять, существует ли ресурс с такими же данными. Если да — возвращать существующий.

  2. Семантические идентификаторы
    Использовать клиентские ID для ресурсов (например, client_id в теле запроса), чтобы сервер мог определить дубликаты.

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

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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