Scegli i campi da restituire

Quando chiami il metodo ComputeRoutes(), devi specificare i campi che vuoi che vengano restituiti nella risposta. Per farlo, utilizza una maschera dei campi di risposta, che fornisci con il parametro URL $fields o fields, oppure utilizza l'intestazione HTTP/gRPC X-Goog-FieldMask. Per saperne di più, consulta Parametri di sistema.

Maschera di campo

Il valore della maschera di campo è un elenco separato da virgole di percorsi dei campi. Ogni percorso del campo è un elenco di nomi di campi separati da punti che rappresentano la gerarchia dei messaggi. Un nome di 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, quindi dal livello successivo del nome del campo. In generale, i percorsi dei campi vengono costruiti nel seguente modo:

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

Una maschera di campo per un caso speciale è un carattere jolly "*", che seleziona tutti i campi a livello di radice.

Esempi

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

Esempio 1

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

X-Goog-FieldMask: *

Esempio 2

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

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

Sconsigliamo l'uso della maschera di campo di risposta con carattere jolly (*) o la specifica della maschera di campo al livello più alto (routes) in produzione. Selezionando solo i campi necessari:

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

  • Garantisce prestazioni di latenza stabili. In futuro potremmo aggiungere altri campi di risposta, che potrebbero richiedere un tempo di calcolo aggiuntivo. Se selezioni tutti i campi o se selezioni tutti i campi di primo livello, potresti riscontrare un peggioramento delle prestazioni perché ogni nuovo campo che aggiungiamo verrà incluso automaticamente nella risposta.

  • Genera una risposta di dimensioni inferiori, il che si traduce in un throughput di rete più elevato.

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