Клиент REST выполняет последовательность шагов с сервером в потоке. Клиент хотел бы отменить поток и отменить все изменения, внесенные в данные в этом потоке.
Например, у нас есть метод ниже. В нем есть три разных шага. Первые два — это остальные вызовы, а третий — вставка данных. Теперь, если restCall1(), restCall2() выполнены успешно, но третий шаг не выполнен. Все, что было сделано в первых двух шагах, должно быть возвращено обратно.
method(){
restCall1(); // Rest Call to the server, perform DB operations
restCall2(); // Rest call to the server, perform file operations
insertData(); // Perform DB operations
}
Что является наилучшей практикой для решения этой проблемы с транзакциями. Один из способов — создать собственную структуру транзакций и шаги отката. Есть ли какой-либо фреймворк/инструмент, который может решить эту проблему?