Masques de champ

Les masques de champ permettent aux appelants d'API de répertorier les champs qu'une requête doit renvoyer. L'utilisation d'un masque de champ permet à l'API d'éviter des tâches inutiles et d'améliorer les performances.

Un masque de champ peut être spécifié en tant que paramètre de requête d'URL, ou en tant qu'en-tête HTTP ou gRPC:

Paramètre de requête d'URL En-tête HTTP ou gRPC
$fields ou fields X-Goog-FieldMask

Syntaxe des masques de champ

Les exemples de masques de champ suivants sont basés sur cet exemple de type de réponse.

message ExampleResponse {
  message Foo {
    string foo1 = 1;
    string foo2 = 2;
    Bar foo3 = 3;
  }

  message Bar {
    string bar1 = 1;
    string bar2 = 2;
    string bar3 = 3;
  }

  string field1 = 1;
  repeated Foo field2 = 2;
}

Les champs imbriqués peuvent être sélectionnés à l'aide de la syntaxe à points ou en les encadrant entre parenthèses.

Expression Sortie
* Renvoie tous les champs et les champs imbriqués.
field1,field2 Renvoie field1 et tous les champs imbriqués de field2.
field1,field2.foo1 Renvoie field1 et field2.foo1.
field1,field2(foo1) Renvoie field1 et field2.foo1.
field1,field2(foo1,foo2) Renvoie:
field1
field2.foo1
field2.foo2
field1,field2(foo1,foo3(bar1,bar2)) Renvoie:
field1
field2.foo1
field2.foo3.bar1
field2.foo3.bar2