Question

Je ne comprends pas ce que l'ID est dans JSON RPC. De plus, à quel point est-il considéré comme de ne pas utiliser les normes de JSON-RPC.org lors de l'élaboration d'une boîte à outils? Il semble y avoir une certaine ambiguïté dans le monde JSON-RPC.

P.S. L'ID que je me réfère à l'id ici:

{"params":["Hello","World"],"method":"hello_world","id":1}
Était-ce utile?

La solution

Vous n'êtes pas sûr d'obtenir vos réponses dans l'ordre que vous avez demandé pour eux; l'id est de vous aider à trier cela.

Autres conseils

Le « id » est retourné dans l'objet de réponse correspondante, de sorte que vous pouvez mapper un contexte à l'autre.

Si vous faites des appels individuels synchrones, il pourrait ne pas donner un sens, mais dans un multi-exceptionnel appel async il est vital Enviroment.

Il ne doit pas être codé en dur à 1, mais mis à une valeur unique pour chaque objet de requête, générer du client.

Aucune des réponses mentionne la différence entre les deux versions existantes du protocole.

JSON RPC 1,0 :

  

L'identifiant de demande. Cela peut être de tout type. Il est utilisé pour correspondre à la   réponse à la demande qu 'il est répondait à.

JSON RPC 2.0 :

  

Un identifiant établi par le client qui doit contenir une chaîne,   Nombre ou la valeur NULL si inclus. Si ce n'est pas inclus, il est supposé   être une notification. La valeur doit normalement pas être nulle et   Les chiffres NE DOIVENT PAS contenir les fractions.

Il est donc parfaitement bien dans JSON RPC 2.0 pour définir id à une valeur fixe. Mais être au courant de l'utilisation de id dans les demandes de traitement par lots.

  1. Pour que le serveur savez que vous vous attendez une réponse.
  2. Pour faire correspondre les réponses aux demandes lors de l'utilisation asynchrone ou .

Vous pouvez lire le RPC JSON docment https://www.jsonrpc.org/specification . Dans le « 4 demande objet » l'id param est expliqué clairement.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top