Как контролировать последовательность запроса в API?
Всем Привет!
Клиент отправляет последовательно отправляет цепочку запросов в API, каждый из запросов зависит от предыдущего.
Как контролировать запросы и возникающие ошибки в ответах от сервера. Как узнать на каком шаге возникла ошибка и продолжить с этого месте. Может существуют какие технологии и способы? Можно ли решить это при помощи service worker?
В чем конкретно у вас проблема возникла? Шлёте запросы по очереди, ошибки каждого запроса обрабатываете отдельно. Или пишете generic функцию которая будет посылать запросы и контролировать выполнение,
Дополню:
клиент отправляет запрос по API на сервер1, сервер1 отправляет на сервер 2.
Например это запрос на постановку задачи на создание договора в БД сервера 2.
Сервер 2 отвечает все OK. Сервер1 отвечает клиенту все OK.
Далее последовательно клиент отправляет запрос на проверку статуса задачи по созданию договор -> Сервер1 -> Сервер2. Сервер2 отвечает OK, договор создался. С клиентом теряется соединение или в отведенное время не получил ответ. Как понять на каком этапе возникла ошибка? Как клиент об этом узнает? Если клиент заново запрос отправит будет дубль.
Scorpic, Как по мне так делать не надо. Похоже на плохую архитектуру.
Пример из жизни заказ тура:
Вы заказываете тур. Турагенство делает вам визу, шангень, страховку, перелет, трансфер, оформляет машину.
Вы просто даете деньги.
В вашем случае. Общение клиента должно быть только с 1 сервером!
Никаких запросов вне этого канала. Тогда если что то пойдет не так он получит осмысленное сообщение и можно будет что то делать дальше.
Scorpic, обычно в таких случаях организуют общий сервис, который в рамках одного входящего запроса производит все нужные процедуры - отправка запроса на сервер 2, создание договора в бд сервера 2 и тд. Клиент обращается только к этому сервису,