跟踪 API 个调用链

Trace Chain of API Calls

假设我有一个 API (A) 然后调用其他 APIs (B, C, D),我有办法 return所有 REST/RPC 呼叫即使来自我呼叫的 API?

所以我正在寻找一种方法来调用 A,然后得到类似于 "Calls made: You -> A, A -> B, A -> C, A -> D" 的结果。如果它能做更深的潜水,那就太好了!

我看到有 https://www.charlesproxy.com/,但我不确定这是否是我要找的,因为看起来它只是 return 浅表列表。

一般答案

一般情况下,你不能。

为什么: 如果一个 API 你调用 (A),调用另一个 API (B),没有办法知道,除非API (A) 以某种方式明确提供了该信息。无法在 API 调用上任意执行一些 "traceroute",因为每个调用都控制着它们 return 的内容,并且 "what other APIs they called" 不是任何 API.

可能的解决方案

如果您控制所有这些 APIs,那么您可以制定(或遵循)一个包含所有涉及 API 实现的协议,提供它们的 "trace" 个响应信封或响应 headers.

中包含的 API 个调用