У меня проблема с реализацией операции Идемпотент в пут.
Существует запрос Put
, который обновляет поле в ресурсе API отдыха.
Но для реализации Идемпотентности каждый повторный запрос должен приводить к одному и тому же состоянию объекта.
Мы используем database
, что происходит, если возникает ошибка. Теперь это означает, что Idempotency
потеряно? если нет
Теперь перейдем к тому же определению - если у нас есть условное изменение статуса в API покоя в поле .eg), поле состояния.
Если логика заключается в обновлении поля состояния только в том случае, если поле родительского свойства locked==false
, мы можем выдать исключение, говорящее «Исключение BusinessLogic не может обновить состояние»
Итак, в теории у нас есть две операции, у нас похожая ситуация:
- человек мог бы быть идемпотентом, если бы не реальные ошибки, которые не могут быть
избегать
- Нельзя быть идемпотентом, но мы можем сделать его похожим
вопрос:
Как вы реализуете идемпотентность на основе обработки ошибок для пут? и если обработка ошибок в порядке, значит ли это, что даже деловая логика может быть сделана идемпотентностью Put
?