Трассировка цепочки вызовов API - PullRequest
0 голосов
/ 21 июня 2019

Допустим, у меня есть API (A), который затем выполняет вызовы других API (B, C, D), есть ли способ вернуть все вызовы REST / RPC, которые были сделаны, даже если они поступили изAPI, который я вызвал?

Итак, я ищу способ позвонить A, а затем получить результат, который говорит что-то вроде: «Вызовы сделаны: Вы -> A, A -> B, A ->C, A -> D ".Если бы он мог совершить еще более глубокое погружение, это было бы здорово!

Я вижу, что есть https://www.charlesproxy.com/, но я не уверен, что это то, что я ищу, так как кажется, что он просто возвращаетсямелкий список.

1 Ответ

1 голос
/ 21 июня 2019

Общий ответ

Как правило, вы не можете.

Почему: Если API, который вы вызываете (A), вызываетдругой API (B), это невозможно узнать, если только этот API (A) явно не предоставляет эту информацию каким-либо образом.Невозможно произвольно выполнить какую-либо «трассировку» в вызовах API, поскольку каждый из них контролирует то, что они возвращают, а «какие другие API они называют» не является стандартной информацией, требуемой или ожидаемой от какого-либо API.

Возможное решение

Если вы контролируете все эти API , то вы можете создать (или следовать) протоколу, в котором все участвующие реализации API предоставляют свою «трассировку» содержащегося APIвызывает конверт или заголовки ответа.

...