Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
RESTAPI最佳实践-在何处放置唯一的请求标识符_Rest_Api_Uniqueidentifier - Fatal编程技术网

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我提出了一个专门的问题。请看一看