我不明白JSON RPC中的ID是什么。另外,在开发工具包时不使用JSON-rpc.org的标准是多么糟糕? JSON-RPC世界似乎有些歧义。

PS我指的是这里的ID:

{"params":["Hello","World"],"method":"hello_world","id":1}
有帮助吗?

解决方案

您不能保证按照您要求的顺序回答答案; ID是为了帮助您解决这个问题。

其他提示

“ ID”在相应的响应对象中返回,因此您可以将一个上下文映射到另一个上下文。

如果您要进行同步单呼叫,那可能没有意义,但是在异步的多个呼叫呼叫式环境中,这是至关重要的。

它不应将其硬编码为1,而应为您从客户端生成的每个请求对象设置为唯一值。

所有答案都没有提及协议的两个现有版本之间的区别。

JSON RPC 1.0:

请求ID。这可以是任何类型的。它用于将响应与正在回复的请求匹配。

JSON RPC 2.0:

客户建立的标识符,必须包含字符串,数字或空值(如果包括)。如果不包括在内,则假定为通知。该值通常不应为null,数字不应包含分数零件。

因此,在JSON RPC 2.0中,将ID设置为一些固定值是完全可以的。但是请注意在批处理请求中使用ID。

  1. 让服务器知道您期望响应。
  2. 使用异步或 批次电话.

您可以阅读JSON RPC文档 https://www.jsonrpc.org/specification. 。在“ 4请求对象”中,ID参数可以清楚地解释。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top