在设计REST API
时,执行http请求时添加unique request identifier
的最佳实践是什么?
我通常将其作为x-request-id
添加到标题中,但是今天听到有人提到将其作为查询字符串添加到url中!
同样,在进行了一些研究之后,似乎有些人将其添加到响应主体中并将其作为有效载荷的一部分发送!
在这三个中,这是unique request identifier
的最佳应用,为什么?每种方法可能有哪些利弊?
最佳答案
HTTP doesn't include any request identifiers。
但是,如果需要一个(例如,用于调试或日志增强),则可以使用所选的 header 。诸如X-Request-Id
,X-Correlation-Id
和X-Trace-Id
之类的标题对于您的注释中描述的情形看起来不错:在内部微服务体系结构中通过多个请求跟踪一个请求。
这样的 header 的值可以是UUID。
这个article可能会给您一些见识。也看看Zipkin。
关于REST API最佳实践-在哪里放置唯一的请求标识符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51363246/