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

标签 rest api uniqueidentifier

设计 REST API 时,执行 http 请求时添加唯一请求标识符的最佳实践是什么?

我通常会将其作为 x-request-id 添加到 header 中,但今天听到有人提到将其作为查询字符串添加到 URL 中!

此外,经过一些研究后,似乎有些人将其添加到响应正文中并将其作为有效负载的一部分发送!

在这三个中,哪一个是唯一请求标识符的最佳应用,为什么?每种方法可能有哪些优点和缺点?

最佳答案

HTTP doesn't include any request identifiers .

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

此类 header 的值可以是 UUID .

<小时/>

这个article可能会给你一些见解。另请查看Zipkin .

关于REST API 最佳实践 - 在哪里放置唯一请求标识符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51363246/

相关文章:

java - 如何阻止 Payara 中的字符串被解释为日期时间?

rest - 504 网关超时 Spring Boot

javascript - Facebook 喜欢状态

python - 如何将 python 中的类转换为 pandas 数据框?

matlab - 提取唯一值

java - 使用 JAX-RS、mysql、JSON、Jersey、Tomcat 的简单 REST CRUD Web 服务

javascript - 将查询参数与集合运算符一起使用

iphone - 如何识别iPhone/iPad用户的itunes账号信息?

perl - 如何在 Perl 中创建唯一标识符?

javascript - jQuery Ajax OPTIONS 调用中的自定义 header