Добавить listener в контроллер для ожидания реакции пользователя

Есть rest контроллер который принимает метод POST от пользоввателя с сущностью которая описывает режим работы устройства.

Далее эта сущность или сохраняется в репозитории или перетирает существующий режим.

Пока все происходит чисто в бек и тестирую я через postman. Никакого фронта нет.

Я бы хотел добавить такую логику. Вывести пользователю при обращении в метод POST такой ответ "вы действительно хотите перезаписать существующий режим, если да пришлите true"

соответсвенно далее пользователь отправляет "true" на getStatusOperation(String answer) и только тогда, я уже сохраняю новый режим работы в репозитории. А пока пользователь не ответит метод контроллера будет висеть и ждать.

Как реализовать такой слушатель, подскажите пожалуйста.


Ответы (1 шт):

Автор решения: ЮрийСПб

Задержки делать не надо. Попробуйте сделать так:

  1. Метод принимает данные + флаг forceUpdate
  2. Если данных в БД нет или клиент прислал forceUpdate=true - пишет их и возвращает код 200.
  3. Если данные уже есть и в запросе нет флага forceUpdate=true - возвращает 409 код (conflict).
  4. Клиент, если видит 409 код - отправляет данные с флагом forceUpdate=true
→ Ссылка