Scegli i campi da restituire

Quando chiami il metodo ComputeRoutes(), devi specificare i campi che vuoi che vengano restituiti nella risposta. A questo scopo, utilizza una maschera del campo di risposta, che fornisci con il parametro URL $fields o fields oppure utilizzando l'intestazione HTTP/gRPC X-Goog-FieldMask. Per ulteriori informazioni, vedi Parametri di sistema.

Maschera del campo

Il valore della maschera di campo è un elenco di percorsi di campo separati da virgole. Ogni percorso del campo è un elenco di nomi di campi separati da punti che rappresentano la gerarchia del messaggio. Il nome di un campo è la chiave dell'oggetto JSON o il nome del tag del campo protobuf. Il percorso del campo inizia dal tipo di messaggio di risposta di primo livello ed è facoltativamente seguito da uno o più punti e poi dal livello successivo del nome del campo. In generale, i percorsi dei campi vengono creati nel seguente modo:

topLevelField[.secondLevelField][.thirdLevelField][...]

Una maschera di campo speciale è il carattere jolly "*", che seleziona tutti i campi di primo livello.

Esempi

L'esempio seguente mostra come impostare le maschere dei campi per il metodo ComputeRoutes().

Esempio 1

Maschera del campo di tutti i campi disponibili (per l'ispezione manuale).

X-Goog-FieldMask: *

Esempio 2

Maschera del campo di durata, distanza e polilinea a livello di percorso (un esempio di configurazione di produzione).

X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.polyline

Sconsigliamo l'utilizzo della maschera di risposta con carattere jolly (*) o la specifica della maschera di campo a livello principale (route) in produzione. Selezionando solo i campi di cui hai bisogno:

  • Consente al nostro server di risparmiare cicli di elaborazione, il che ci consente di restituire i risultati con una latenza inferiore.

  • Garantisce prestazioni di latenza stabili. In futuro potremmo aggiungere altri campi di risposta e questi nuovi campi potrebbero richiedere tempi di calcolo aggiuntivi. Se selezioni tutti i campi o tutti i campi a livello principale, potresti riscontrare un peggioramento delle prestazioni perché qualsiasi nuovo campo che aggiungiamo verrà automaticamente incluso nella risposta.

  • Il risultato è una dimensione della risposta più piccola, che si traduce in una maggiore velocità effettiva della rete.

Per saperne di più su come creare i percorsi dei campi, consulta field_mask.proto.