ComputeRoutes() yöntemini çağırdığınızda, yanıtta hangi alanların döndürülmesini istediğinizi belirtmeniz gerekir. Bunu yapmak için $fields veya fields URL parametresiyle sağladığınız bir yanıt alanı maskesi ya da X-Goog-FieldMask HTTP/gRPC üstbilgisini kullanabilirsiniz. Daha fazla bilgi için Sistem Parametreleri başlıklı makaleyi inceleyin.
Alan maskesi
Alan maskesi değeri, virgülle ayrılmış bir alan yolları listesidir. Her alan yolu, mesaj hiyerarşisini temsil eden, noktayla ayrılmış alan adları listesidir. Alan adı, JSON nesne anahtarı veya protobuf alan etiketi adıdır. Alan yolu, üst düzey yanıt mesajı türüyle başlar ve isteğe bağlı olarak bir veya daha fazla nokta ve ardından bir sonraki düzey alan adıyla devam eder. Genel olarak alan yolları aşağıdaki şekilde oluşturulur:
topLevelField[.secondLevelField][.thirdLevelField][...]
Özel durum alan maskesi, tüm kök düzeyindeki alanları seçen bir joker karakter olan "*" işaretidir.
Örnekler
Aşağıdaki örnekte, ComputeRoutes() yöntemi için alan maskelerinin nasıl ayarlanacağı gösterilmektedir.
1. Örnek
Kullanılabilir tüm alanların alan maskesi (manuel inceleme için).
X-Goog-FieldMask: *
2. Örnek
Rota düzeyinde süre, mesafe ve çoklu çizginin alan maskesi (örnek bir üretim kurulumu).
X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.polyline
Üretimde joker karakter (*) yanıt alanı maskesinin kullanılmasını veya alan maskesinin en üst düzeyde (rotalar) belirtilmesini önermiyoruz. Yalnızca ihtiyacınız olan alanları seçme:
Sunucumuzun işlem döngülerinden tasarruf etmesini sağlar. Bu sayede sonuçlarınızı daha düşük gecikmeyle döndürebiliriz.
Kararlı gecikme performansı sağlar. Gelecekte daha fazla yanıt alanı ekleyebiliriz ve bu yeni alanlar için ek hesaplama süresi gerekebilir. Tüm alanları veya üst düzeydeki tüm alanları seçerseniz eklediğimiz tüm yeni alanlar yanıtınıza otomatik olarak dahil edileceğinden performans düşüşü yaşayabilirsiniz.
Daha küçük bir yanıt boyutuyla sonuçlanır. Bu da daha yüksek ağ işleme hızı anlamına gelir.
Alan yollarının nasıl oluşturulacağı hakkında daha fazla bilgi için field_mask.proto dosyasına bakın.