質問

JSON RPCのIDが何であるかがわかりません。また、ツールキットを開発する際にJSON-RPC.orgの標準を使用しないことはどれほど悪いと考えられていますか? JSON-RPCの世界には曖昧さがあるようです。

PS私が言及しているIDはここのIDです:

{"params":["Hello","World"],"method":"hello_world","id":1}
役に立ちましたか?

解決

あなたはあなたが彼らに求めた順序であなたの答えを元に戻すことを保証されていません。 IDは、それを整理するのに役立ちます。

他のヒント

「ID」は対応する応答オブジェクトで返されるため、1つのコンテキストをもう1つのコンテキストにマッピングできます。

同期シングルコールを作成している場合、それは意味をなさないかもしれませんが、非同期のマルチアウト傑出したコール環境ではそれが不可欠です。

1にハードコード化されるべきではありませんが、クライアントから生成するすべてのリクエストオブジェクトの一意の値に設定します。

回答のいずれも、プロトコルの2つの既存のバージョンの違いについて言及していません。

JSON RPC 1.0:

リクエストID。これは任意のタイプのものです。応答を返信しているリクエストと一致させるために使用されます。

JSON RPC 2.0:

含まれている場合は、文字列、番号、またはヌル値を含む必要があるクライアントによって確立された識別子。含まれていない場合、通知であると想定されます。通常、値は無効ではなく、数値には部分的な部分が含まれてはなりません。

したがって、JSON RPC 2.0では、IDを何らかの固定値に設定することはまったく問題ありません。ただし、バッチリクエストでのIDの使用に注意してください。

  1. あなたが応答を期待していることをサーバーに知らせるために。
  2. 非同期または使用する場合のリクエストへの応答を一致させる バッチコール.

JSON RPCドキュメントを読むことができます https://www.jsonrpc.org/specification. 。 「4リクエストオブジェクト」では、ID PARAMが明確に説明されています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top