我不明白JSON RPC中的ID是什么。另外,在开发工具包时,考虑不使用JSON-RPC.org的标准有多糟糕? JSON-RPC世界似乎存在一些歧义。
P.S。我所指的ID是这里的ID:
{"params":["Hello","World"],"method":"hello_world","id":1}
答案 0 :(得分:19)
您无法保证按照您要求的顺序获得答案; id是为了帮助你解决这个问题。
答案 1 :(得分:8)
“id”在相应的响应对象中返回,因此您可以将一个上下文映射到另一个上下文。
如果您正在进行同步单一呼叫,则可能没有意义,但在异步多出色呼叫环境中,它至关重要。
它不应硬编码为1,而是为从客户端生成的每个请求对象设置唯一值。
答案 2 :(得分:1)
没有一个答案提到了现有协议的两个版本之间的区别。
请求ID。这可以是任何类型。它用于匹配 响应它回复的请求。
客户建立的必须包含字符串的标识符, 如果包含数字或NULL值。如果不包含它,则假设 是一个通知。值SHOULD通常不是Null和 数字不应包含小数部分。
因此,在JSON RPC 2.0中将id设置为某个固定值是完全正常的。但请注意在批处理请求中使用id。
答案 3 :(得分:0)
答案 4 :(得分:-1)
您可以阅读JSON RPC文档https://www.jsonrpc.org/specification。在“ 4请求对象”中,对id参数进行了清楚的说明。