Из моего REST API верните 202 из моего сервиса с указанием местоположения нового ресурса, где мой клиент может запросить его. В этом случае, однако, как я могу обработать ошибки, поскольку в действительности представление не будет существовать или существовать.
Обычный ответ здесь заключается в том, что в качестве части ответа 202 Accepted вы включаете информацию мониторинга
Представление, отправленное с этим ответом, должно описать текущее состояние запроса и указать (или встроить) монитор состояния, который может предоставить пользователю оценку того, когда запрос будет выполнен.
Другими словами, ссылка на ресурс, который изменится при окончательном выполнении принятого запроса.
Таким образом, при описании протокола, в дополнение к ресурсу, который вы создаете, вам также необходимо документировать представление, используемое при переносе работы на потом, и представление, используемое монитором.
Когда сага будет завершена, верните результат пользователю.
В зависимости от работы это может быть излишним.
То есть, здесь вы поднимаете два разных вопроса; один из них заключается в том, должен ли запрос обрабатываться синхронно (не отвечать до завершения работы) или асинхронно (немедленно возвращаться, но дать клиенту средства для отслеживания прогресса).
Другой вопрос - как выглядит работа с бизнес-уровня. Если вам потребуется несколько транзакций, чтобы внести изменения, и если вам может понадобиться «отменить» ранее зафиксированные транзакции в некоторых вариантах процесса, тогда имеет смысл сага (или менеджер процессов ).
Set Validation - более широкий термин для применения такого инварианта, как «уникальность» - неудобен. Обязательно изучите и убедитесь, что вы и компания понимаете последствия неудачи.