Wybierz pola do zwrócenia

Gdy wywołujesz metodę ComputeRoutes(), musisz określić, które pola chcesz otrzymać w odpowiedzi. Możesz to zrobić, używając maski pola odpowiedzi, którą podajesz w parametrze adresu URL $fields lub fields, albo używając nagłówka HTTP/gRPC X-Goog-FieldMask. Więcej informacji znajdziesz w artykule Parametry systemu.

Maska pola

Wartość maski pola to rozdzielona przecinkami lista ścieżek pól. Każda ścieżka pola to rozdzielona kropkami lista nazw pól, które reprezentują hierarchię wiadomości. Nazwa pola to klucz obiektu JSON lub nazwa tagu pola protobuf. Ścieżka pola zaczyna się od typu wiadomości odpowiedzi najwyższego poziomu, po którym opcjonalnie następuje co najmniej 1 kropka, a następnie nazwa pola kolejnego poziomu. Ogólnie ścieżki pól są tworzone w ten sposób:

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

Specjalna maska pola to symbol wieloznaczny „*”, który wybiera wszystkie pola na poziomie głównym.

Przykłady

Poniższy przykład pokazuje, jak ustawić maski pól dla metody ComputeRoutes().

Przykład 1

Maska pola wszystkich dostępnych pól (do ręcznego sprawdzenia).

X-Goog-FieldMask: *

Przykład 2

Maska pola czasu trwania, odległości i linii łamanej na poziomie trasy (przykładowa konfiguracja produkcyjna).

X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.polyline

Nie zalecamy używania maski pola odpowiedzi z symbolem wieloznacznym (*) ani określania maski pola na najwyższym poziomie (trasy) w środowisku produkcyjnym. Wybieranie tylko potrzebnych pól:

  • Pozwala to naszemu serwerowi zaoszczędzić cykle przetwarzania, dzięki czemu możemy zwracać wyniki z mniejszym opóźnieniem.

  • Zapewnia stabilny czas oczekiwania. W przyszłości możemy dodać więcej pól odpowiedzi, a te nowe pola mogą wymagać dodatkowego czasu na obliczenia. Jeśli wybierzesz wszystkie pola lub wszystkie pola na najwyższym poziomie, może dojść do pogorszenia wydajności, ponieważ każde nowe pole, które dodamy, zostanie automatycznie uwzględnione w odpowiedzi.

  • Zmniejsza rozmiar odpowiedzi, co przekłada się na większą przepustowość sieci.

Więcej informacji o tworzeniu ścieżek pól znajdziesz w pliku field_mask.proto.