Wybierz pola do zwrócenia

Gdy wywołujesz metodę ComputeRoutes(), musisz określić, które pola mają być zwracane w odpowiedzi. W tym celu użyj maski pola odpowiedzi, którą podajesz za pomocą parametru adresu URL $fields lub fields, albo nagłówka HTTP/gRPC X-Goog-FieldMask. Więcej informacji znajdziesz w sekcji Parametry systemu.

Maska pola

Wartość maski pola to rozdzielana przecinkami lista ścieżek pól. Każda ścieżka pola ma rozdzielaną kropkami listę nazw pól reprezentujących hierarchię wiadomości. Nazwa pola to klucz obiektu JSON lub nazwa tagu pola protobuf. Ścieżka pola rozpoczyna się od typu wiadomości odpowiedzi najwyższego poziomu, opcjonalnie po niej następuje co najmniej 1 kropka, a następnie nazwa następnego poziomu. Ogólnie ścieżki pól są tworzone w taki sposób:

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

Maska pola specjalnego 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 sprawdzenia ręcznego).

X-Goog-FieldMask: *

Przykład 2

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

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

W środowisku produkcyjnym odradzamy używanie maski pola odpowiedzi z symbolem wieloznacznym (*) oraz określanie maski pola na najwyższym poziomie (trasy). Wybierz tylko te pola, których potrzebujesz:

  • Pozwala to naszemu serwerowi na oszczędzanie cykli przetwarzania, dzięki czemu możemy zwracać wyniki z mniejszym czasem oczekiwania.

  • Zapewnia stabilne działanie opóźnienia. W przyszłości możemy dodać więcej pól odpowiedzi, a te nowe pola mogą wymagać dłuższego czasu na obliczenia. Jeśli wybierzesz wszystkie pola lub wybierzesz wszystkie pola na najwyższym poziomie, może wystąpić spadek wydajności, ponieważ nowe pola, które dodamy, będą automatycznie uwzględniane w odpowiedzi.

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

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