Lorsque vous appelez la méthode ComputeRoutes()
, vous devez spécifier les champs que vous souhaitez renvoyer dans la réponse. Pour ce faire, utilisez un masque de champ de réponse que vous fournissez avec le paramètre d'URL $fields
ou fields
, ou l'en-tête HTTP/gRPC X-Goog-FieldMask
. Pour en savoir plus, consultez la section Paramètres système.
Masque de champ
La valeur du masque de champ est une liste de chemins de champ séparés par une virgule. Chaque chemin de champ est une liste de noms de champs séparés par des points qui représentent la hiérarchie des messages. Un nom de champ correspond à la clé de l'objet JSON ou au nom de la balise de champ protobuf. Le chemin d'accès au champ commence par le type de message de réponse de premier niveau, et peut être suivi d'un ou plusieurs points, puis du niveau suivant du nom du champ. En règle générale, les chemins de champ sont construits comme suit :
topLevelField[.secondLevelField][.thirdLevelField][...]
Un masque de champ de cas particulier est un caractère générique (*), qui sélectionne tous les champs de niveau racine.
Exemples
L'exemple suivant montre comment définir des masques de champ pour la méthode ComputeRoutes()
.
Exemple 1
Masque de champ de tous les champs disponibles (pour l'inspection manuelle).
X-Goog-FieldMask: *
Exemple 2
Masque de champ de la durée, de la distance et de la polyligne au niveau de l'itinéraire (exemple de configuration de production).
X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.polyline
Nous vous déconseillons d'utiliser le masque de champ de réponse générique (*) ou de spécifier le masque de champ au niveau supérieur (routes) en production. Sélectionnez uniquement les champs dont vous avez besoin:
Permet à notre serveur d'économiser des cycles de traitement, ce qui nous permet de renvoyer vos résultats avec une latence plus faible.
Garantit des performances de latence stables. Nous pourrons ajouter d'autres champs de réponse à l'avenir, et ces nouveaux champs peuvent nécessiter un temps de calcul supplémentaire. Si vous sélectionnez tous les champs ou tous les champs au niveau supérieur, vous risquez de constater une dégradation des performances, car tous les nouveaux champs que nous ajoutons seront automatiquement inclus dans votre réponse.
Cela se traduit par une taille de réponse plus petite, ce qui se traduit par un débit réseau plus élevé.
Pour en savoir plus sur la création de chemins de champ, consultez field_mask.proto.