Wybierz pola do zwrócenia

Podczas wywoływania metody ComputeRoutes() musisz określić, które pola mają zostać zwrócone w odpowiedzi. Możesz to zrobić, używając maski pola odpowiedzi, którą przekazujesz za pomocą parametru adresu URL $fields lub fields albo nagłówka HTTP/gRPC X-Goog-FieldMask. Więcej informacji znajdziesz w artykule Parametry systemu.

Maska pola

Wartość maski pola to lista ścieżek pól rozdzielonych przecinkami. Każda ścieżka pola jest listą nazw pól rozdzielonych kropkami, która reprezentuje 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, a opcjonalnie jest po niej podawana co najmniej 1 kropka, a następnie nazwa pola następnego poziomu. Ścieżki pól są zazwyczaj konstruowane w ten sposób:

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

W szczególnym przypadku maską pola jest symbol wieloznaczny „*”, który wybiera wszystkie pola na poziomie katalogu głównego.

Przykłady

Ten przykład pokazuje, jak ustawić maski pól w przypadku metody ComputeRoutes().

Przykład 1

Maska pól wszystkich dostępnych pól (do ręcznej kontroli).

X-Goog-FieldMask: *

Przykład 2

Maska pól Czas trwania na poziomie trasy, Odległość i Polilinia (przykładowe ustawienie produkcyjne).

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

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

  • Umożliwia serwerowi zaoszczędzenie cykli przetwarzania, co pozwala nam zwracać wyniki z mniejszym opóźnieniem.

  • Zapewnia stabilny czas oczekiwania. W przyszłości możemy dodać więcej pól odpowiedzi, a to może wydłużyć czas obliczeń. Jeśli wybierzesz wszystkie pola lub wszystkie pola na najwyższym poziomie, może to spowodować pogorszenie wydajności, ponieważ każde nowe pole, które dodamy, będzie automatycznie uwzględniane w odpowiedzi.

  • W efekcie rozmiar odpowiedzi jest mniejszy, co przekłada się na większą przepustowość sieci.

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