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