RESTAPI最佳实践-在何处放置唯一的请求标识符
在设计RESTAPI最佳实践-在何处放置唯一的请求标识符,rest,api,uniqueidentifier,Rest,Api,Uniqueidentifier,在设计restapi时,在执行http请求时添加唯一请求标识符的最佳实践是什么 我通常会将其作为x-request-id添加到标题中,但今天听到有人提到将其作为查询字符串添加到url中 同样在做了一些研究之后,似乎有些人将其添加到响应体中,并将其作为有效负载的一部分发送 在这三种情况中,哪一种是唯一请求标识符的最佳应用,为什么?每种方法可能的优缺点是什么? 但是,如果您需要一个(例如用于调试或日志增强),可以使用您选择的头。像X-Request-Id、X-Correlation-Id和X-Tra
restapi
时,在执行http请求时添加唯一请求标识符的最佳实践是什么
我通常会将其作为x-request-id
添加到标题中,但今天听到有人提到将其作为查询字符串添加到url中
同样在做了一些研究之后,似乎有些人将其添加到响应体中,并将其作为有效负载的一部分发送
在这三种情况中,哪一种是唯一请求标识符的最佳应用,为什么?每种方法可能的优缺点是什么?
但是,如果您需要一个(例如用于调试或日志增强),可以使用您选择的头。像X-Request-Id
、X-Correlation-Id
和X-Trace-Id
这样的标题对于您的评论中描述的场景来说很合适:通过内部微服务体系结构中的多个请求跟踪请求
此类标头的值可以是
这可能会给你一些见解。还可以查看。您需要请求标识符做什么?在内部微服务体系结构中通过多个请求跟踪请求!我知道HTTP不包含任何请求标识符。以前,我使用UUID为自定义http请求头分配一个值。对于某些代理剥离头,我发现一些支持使用有效负载的人认为他们为什么不使用头呢?@hyprstack任何请求元数据都应该属于头。的确,有些代理可能会删除非标准的头。但是假设这个头文件将用于您的微服务集群(我们希望是一个受控环境),我看不出有什么大问题。@cassiomolin我也有类似的需要,那就是管理一个唯一的id来匹配到达我的API的每个请求,以便能够创建一个链(区块链类型)每个客户打给我的所有电话中。另外,为了创建链,在每次调用API的任何方法时,我想插入这个唯一的id作为一个强制参数,它的值在每次调用任何方法时都会返回。有没有一种模式可以做到这一点?@cassiomolin我提出了一个专门的问题。请看一看