Wybierz pola do zwrócenia

Przy wywołaniu metody ComputeRoutes() musisz określić pola, które chcesz zwrócić w odpowiedzi. Możesz to zrobić za pomocą maski pola odpowiedzi podawanej w parametrze 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 jest listą ścieżek pól rozdzielonych przecinkami. Każda ścieżka pól to oddzielona kropkami listą nazw pól, które reprezentują 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 i opcjonalnie może po niej występować co najmniej 1 kropka, a następnie nazwa następnego poziomu pola. Ogólnie ścieżki pól są tworzone w ten sposób:

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

Maska pola specjalnego przypadku to symbol wieloznaczny „*”, który powoduje zaznaczenie wszystkich pól na poziomie głównym.

Przykłady

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

Przykład 1

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

X-Goog-FieldMask: *

Przykład 2

Maska pola z czasem trwania, odległością i linią łamaną na poziomie trasy (przykładowa konfiguracja produkcyjna).

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

Odradzamy korzystanie z maski pola odpowiedzi z symbolem wieloznacznym (*) i określanie maski pola na najwyższym poziomie (tras) w środowisku produkcyjnym. Wybierając tylko potrzebne pola:

  • Pozwala naszemu serwerowi zapisywać cykle przetwarzania, co pozwala nam zwracać wyniki z mniejszym czasem oczekiwania.

  • Zapewnia stabilne opóźnienia. W przyszłości możemy dodać więcej pól odpowiedzi, a te nowe pola mogą wymagać więcej czasu na obliczenie. Jeśli zaznaczysz wszystkie pola lub wybierzesz wszystkie pola na najwyższym poziomie, może nastąpić spadek wydajności, ponieważ każde dodane przez nas nowe pole zostanie automatycznie uwzględnione w odpowiedzi.

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

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