JSON RPC - Quel est le « id » pour?
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}
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.
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 à.
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.
Vous pouvez lire le RPC JSON docment https://www.jsonrpc.org/specification . Dans le « 4 demande objet » l'id param est expliqué clairement.