Sélectionner les champs à renvoyer

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 d'accès de champ séparés par une virgule. Chaque chemin d'accès de champ est une liste de noms de champs séparés par un point, qui représentent la hiérarchie des messages. Un nom de champ est soit la clé de l'objet JSON, soit le nom de la balise de champ protobuf. Le chemin d'accès du champ commence à partir du type de message de réponse de niveau supérieur et est éventuellement suivi d'un ou plusieurs points, puis du nom de champ de niveau suivant. En général, les chemins d'accès de champ sont construits de la manière suivante:

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

Un masque de champ de cas particulier est le 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 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 déconseillons l'utilisation du masque de champ de réponse utilisant le caractère générique (*) ou la spécification du masque de champ au niveau supérieur (routes) en production. Sélectionnez uniquement les champs dont vous avez besoin:

  • Permet à notre serveur d'économiser les cycles de traitement et de vous renvoyer les résultats avec une latence plus faible.

  • Assure des performances de latence stables. Nous pourrions ajouter d'autres champs de réponse à l'avenir, et ces nouveaux champs pourraient nécessiter du 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 tout nouveau champ que nous ajoutons sera automatiquement inclus dans votre réponse.

  • La taille des réponses est réduite, ce qui se traduit par un débit réseau plus élevé.

Pour en savoir plus sur la construction de chemins d'accès de champ, consultez le fichier field_mask.proto.