Что такое идемпотентность метода

«Что такое идемпотентность метода» — вопрос из категории API и интеграции, который задают на 58% собеседований Системный Аналитик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Идемпотентность метода означает, что повторные вызовы метода с одними и теми же параметрами приводят к одинаковому результату, не вызывая побочных эффектов. Это важно для API, особенно в REST, где GET, PUT, DELETE должны быть идемпотентными, а POST — нет.

Пример:

// Идемпотентный метод (PUT)
public void updateUser(User user) {
    // Обновляет пользователя в БД
    // Повторные вызовы не изменят состояние системы
}

// Неидемпотентный метод (POST)
public void createUser(User user) {
    // Создает нового пользователя в БД
    // Повторные вызовы создадут дубликаты
}

Идемпотентность упрощает обработку ошибок и повторные запросы.