API 呼叫者可透過欄位遮罩,列出要求應傳回的欄位。使用欄位遮罩可讓 API 避免不必要的工作,並提升效能。
您可以將欄位遮罩指定為網址查詢參數,或是 HTTP 或 gRPC 標頭:
網址查詢參數 | HTTP 或 gRPC 標頭 |
---|---|
$fields 或 fields |
X-Goog-FieldMask |
欄位遮罩語法
以下欄位遮罩範例是以這個範例回應型別為基礎。
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;
}
您可以使用點語法或將巢狀欄位括在半形括號中,選取巢狀欄位。
運算式 | 輸出 |
---|---|
* |
傳回所有欄位和巢狀欄位。 |
field1,field2 |
傳回 field1 和 field2 的所有巢狀欄位。 |
field1,field2.foo1 |
傳回 field1 和 field2.foo1 。 |
field1,field2(foo1) |
傳回 field1 和 field2.foo1 。 |
field1,field2(foo1,foo2)
|
傳回:field1 field2.foo1 field2.foo2 |
field1,field2(foo1,foo3(bar1,bar2))
|
傳回:field1 field2.foo1 field2.foo3.bar1 field2.foo3.bar2 |