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ış alan yolları listesidir. Her alan yolu, ileti hiyerarşisini temsil eden alan adlarının nokta ile ayrılmış bir listesidir. Alan adı, JSON nesnesi 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, ardından bir sonraki düzeydeki 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ülerini kaydetmesine olanak tanır. Bu sayede sonuçlarınızı daha düşük bir 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 sayfasına bakın.