Wybierz pola do zwrócenia

Przy wywołaniu metody ComputeRoutes() musisz określić, które pola które mają być zwracane w odpowiedzi. W tym celu korzysta się z maski pola odpowiedzi, podasz parametr adresu URL $fields lub fields albo za pomocą funkcji Nagłówek HTTP/gRPC X-Goog-FieldMask. Więcej informacji: Parametry systemowe.

Maska pola

Wartość maski pola to rozdzielana przecinkami lista ścieżek pól. Każda ścieżka pola to rozdzielana kropkami lista nazw pól reprezentujących hierarchię wiadomości. O 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 jest opcjonalnie z następującą liczbą kropek i następnym poziomem nazwy pola. Ogólnie rzecz biorąc, ścieżki pól są konstruowane w taki 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 dla wartości Metoda ComputeRoutes().

Przykład 1

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

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

Odradzamy stosowanie maski pola odpowiedzi z symbolem wieloznacznym (*) oraz określanie maską pola na najwyższym poziomie (trasach) w środowisku produkcyjnym. Wybieranie tylko Potrzebne pola:

  • Pozwala serwerowi na zapisanie cykli przetwarzania, dzięki czemu możemy zwracać przy mniejszym opóźnieniu.

  • Zapewnia stabilne działanie opóźnienia. W przyszłości możemy dodać więcej pól odpowiedzi, a to może wydłużyć czas obliczeń. Jeśli wybierzesz wszystkich pól lub, jeśli wybierzesz wszystkie pola na najwyższym poziomie, może pojawić się pogorszenie wydajności, ponieważ nowe pola, które dodamy, będą automatycznie zawarte w odpowiedzi.

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

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