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 |