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

hyp*_*ack 12 api rest uniqueidentifier

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

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

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

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

cas*_*lin 9

HTTP 不包含任何请求标识符

但是,如果您需要一个(例如用于调试或日志增强),您可以使用您选择的标头。诸如X-Request-IdX-Correlation-Id和 之类的标头X-Trace-Id对于您的评论中描述的场景看起来很好:通过内部微服务架构中的多个请求跟踪请求

此类标头的值可以是UUID


这篇文章可能会给你一些见解。也看看Zipkin