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'aide de 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 un point qui représentent la hiérarchie des messages. Un nom de champ est la clé d'objet JSON ou le nom de balise de champ protobuf. Le chemin de champ commence par le type de message de réponse de premier niveau, suivi éventuellement d'un ou plusieurs points, puis du niveau suivant du nom de champ. En règle générale, les chemins de champ sont construits de la manière suivante :
topLevelField[.secondLevelField][.thirdLevelField][...]
Un masque de champ spécial 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 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 (itinéraires) en production. Sélectionnez uniquement les champs dont vous avez besoin :
Cela permet à notre serveur d'économiser des cycles de traitement, ce qui nous permet de renvoyer vos résultats avec une latence plus faible.
Cela garantit des performances de latence stables. Nous pourrions ajouter d'autres champs de réponse à l'avenir, et ces nouveaux champs pourraient 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 tout nouveau champ que nous ajouterons sera automatiquement inclus dans votre réponse.
Cela réduit la taille de la réponse, ce qui se traduit par un débit réseau plus élevé.
Pour en savoir plus sur la construction de chemins de champ, consultez le field_mask.proto.