Идемпотентность в программировании — это свойство операции, при котором повторное выполнение этой операции приводит к тому же результату, что и первое выполнение. То есть, независимо от того, сколько раз вы вызываете операцию, эффект остаётся неизменным. Пример из реальной жизни:
Стоишь в подъезде и нажимаешь на кнопку лифта (если конечно пизд*ки не спалили тебе кнопку лифта). Кнопка загорелась, лифт поехал к тебе. Ты нажимаешь кнопку ещё 10 раз, но лифт уже вызван и едет к тебе. Поведение системы не меняется, сколько ты не нажал эту кнопку. Пример при разработке REST API:
У тебя есть метод для удаления товара из избранного DELETE /favourite/product/1. Пользователь кликнул на иконку ❤️ и ушёл запрос на удаления товара из избранного, запрос могло подглючить и пользователь ещё раз нажал на иконку. Вот на сервер полетело два запроса. Отработал первый запрос и выдал код HTTP код 200. Товара уже нет в избранном. Далее начинает отрабатывать второй запрос, но товара уже нет в избранном и тут