【发布时间】:2011-01-13 17:24:02
【问题描述】:
我不明白 ID 在 JSON RPC 中的用途。此外,在开发工具包时不使用 JSON-RPC.org 的标准有多糟糕? JSON-RPC 世界中似乎存在一些歧义。
附:我指的ID是这里的id:
{"params":["Hello","World"],"method":"hello_world","id":1}
【问题讨论】:
我不明白 ID 在 JSON RPC 中的用途。此外,在开发工具包时不使用 JSON-RPC.org 的标准有多糟糕? JSON-RPC 世界中似乎存在一些歧义。
附:我指的ID是这里的id:
{"params":["Hello","World"],"method":"hello_world","id":1}
【问题讨论】:
不能保证您会按照您要求的顺序获得答案; id 是为了帮你解决这个问题。
【讨论】:
“id”在相应的响应对象中返回,因此您可以将一个上下文映射到另一个上下文。
如果您要进行同步单次调用,这可能没有意义,但在异步多未决调用环境中,它是至关重要的。
不应硬编码为 1,而是为您从客户端生成的每个请求对象设置一个唯一值。
【讨论】:
没有一个答案提到协议的两个现有版本之间的区别。
请求 ID。这可以是任何类型。它用于匹配 响应它正在回复的请求。
由客户端建立的标识符,必须包含一个字符串, 数字或 NULL 值(如果包含)。如果不包括在内,则假定为 成为通知。该值通常不应为 Null 并且 数字不应包含小数部分。
因此,在 JSON RPC 2.0 中将 id 设置为某个固定值是非常好的。但要注意在批处理请求中使用 id。
【讨论】:
【讨论】:
您可以阅读 JSON RPC 文档https://www.jsonrpc.org/specification。在“4 Request object”中,id参数解释清楚了。
【讨论】: