REST API 最佳实践 - 放置唯一请求标识符的位置

REST API best practice - where to place a unique request identifier

设计 REST API 时,在执行 http 请求时添加 unique request identifier 的最佳做法是什么?

我通常会在 headers 中添加它作为 x-request-id,但今天听到有人提到在 url 中添加它作为查询字符串!

另外,在做了一些研究之后,似乎有些人将其添加到响应中 body 并将其作为有效负载的一部分发送!

在这三个中,哪个是 unique request identifier 的最佳应用,为什么?每种方法可能的优缺点是什么?

HTTP doesn't include any request identifiers.

但是,如果您需要一个(用于调试或日志增强,例如),您可以使用您选择的 header。 Headers 例如 X-Request-IdX-Correlation-IdX-Trace-Id 对于您评论中描述的场景来说看起来不错:通过内部 [=] 中的多个请求跟踪请求29=]架构.

这样的 header 的值可能是 UUID


这个article will probably give you some insights. Also have a look at Zipkin.