Domanda

Non capisco che cosa l'ID è per RPC in JSON. Inoltre, quanto male è considerato non utilizzare gli standard di JSON-RPC.org nello sviluppo di un kit di strumenti? Sembra che ci sia una certa ambiguità nel mondo JSON-RPC.

P.S. L'ID mi riferisco è l'id qui:

{"params":["Hello","World"],"method":"hello_world","id":1}
È stato utile?

Soluzione

Non sei garantito per ottenere le risposte indietro nell'ordine lei ha chiesto per loro; l'id è quello di aiutare a risolvere che fuori.

Altri suggerimenti

L ' "id" viene restituito nell'oggetto risposta corrispondente, in modo da poter mappare un contesto all'altro.

Se si stanno facendo singole chiamate sincrone, potrebbe non avere senso, ma in un asincrona multi-eccezionale-call favorevole all'ambiente è di vitale importanza.

Non dovrebbe essere difficile codificato a 1, ma impostato su un valore unico per ogni oggetto di richiesta si genera dal client.

Nessuna delle risposte menziona la differenza tra le due versioni esistenti del protocollo.

JSON RPC 1.0 :

  

La richiesta id. Questo può essere di qualsiasi tipo. E 'utilizzato per abbinare il   risposta con la richiesta che sta rispondendo a.

JSON RPC 2.0 :

  

Un identificativo stabilito dal Cliente che deve contenere una stringa,   Numero, o il valore NULL se inclusi. Se non è incluso si presume   per essere una notifica. Il valore dovrebbe normalmente essere Null e   I numeri non devono contenere parti frazionarie.

Così è perfettamente bene in JSON RPC 2.0 per impostare id a un valore fisso. Ma essere consapevoli dell'uso di id nelle richieste batch.

  1. Per consentire al server di sapere che stai aspettando una risposta.
  2. Per abbinare le risposte alle richieste quando si utilizza asincrona o .

Si può leggere la RPC JSON docment https://www.jsonrpc.org/specification . Nella "4 Richiedi oggetto" il parametro id è spiegare chiaramente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top