Sobes.tech
Назад к вопросам
Junior — Middle
92

Можешь ли ты привести примеры методов, обладающих идемпотентностью?

Ответ от нейросети

sobes.tech AI

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

Примеры идемпотентных методов в Node.js:

  • HTTP методы GET, PUT, DELETE по стандарту считаются идемпотентными.
  • Метод обновления записи в базе данных, который устанавливает конкретное значение, например:
app.put('/user/:id', (req, res) => {
  // Обновляем пользователя с id
  User.updateOne({ _id: req.params.id }, { name: req.body.name })
    .then(() => res.send('Updated'));
});
  • Метод удаления ресурса:
app.delete('/item/:id', (req, res) => {
  Item.deleteOne({ _id: req.params.id })
    .then(() => res.send('Deleted'));
});

Повторные вызовы PUT или DELETE с теми же параметрами не изменят состояние после первого успешного вызова, что и есть идемпотентность.