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.