Khi gọi phương thức ComputeRoutes()
, bạn phải chỉ định những trường mà bạn muốn được trả về trong phản hồi. Bạn thực hiện việc này bằng cách sử dụng mặt nạ trường phản hồi mà bạn cung cấp bằng tham số URL $fields
hoặc fields
, hoặc bằng cách sử dụng tiêu đề HTTP/gRPC X-Goog-FieldMask
. Để biết thêm thông tin, hãy xem phần Tham số hệ thống.
Mặt nạ trường
Giá trị mặt nạ trường là danh sách đường dẫn trường được phân tách bằng dấu phẩy. Mỗi đường dẫn trường là một danh sách tên trường được phân tách bằng dấu chấm, đại diện cho hệ phân cấp thông báo. Tên trường là khoá đối tượng JSON hoặc tên thẻ trường protobuf. Đường dẫn trường bắt đầu từ loại thông báo phản hồi cấp cao nhất, theo sau là một hoặc nhiều dấu chấm (không bắt buộc) rồi đến cấp tiếp theo của tên trường. Nói chung, đường dẫn trường được tạo theo cách sau:
topLevelField[.secondLevelField][.thirdLevelField][...]
Mặt nạ trường trường hợp đặc biệt là ký tự đại diện “*”, chọn tất cả trường cấp gốc.
Ví dụ
Ví dụ sau đây minh hoạ cách đặt mặt nạ trường cho phương thức ComputeRoutes()
.
Ví dụ 1
Mặt nạ trường của tất cả các trường có sẵn (để kiểm tra thủ công).
X-Goog-FieldMask: *
Ví dụ 2
Mặt nạ trường của thời lượng, khoảng cách và đường đa tuyến ở cấp Tuyến (ví dụ về chế độ thiết lập chính thức).
X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.polyline
Bạn không nên sử dụng mặt nạ trường phản hồi ký tự đại diện (*) hoặc chỉ định mặt nạ trường ở cấp cao nhất (các tuyến) trong phiên bản chính thức. Chỉ chọn các trường mà bạn cần:
Cho phép máy chủ của chúng tôi lưu các chu kỳ xử lý, nhờ đó chúng tôi có thể trả về kết quả với độ trễ thấp hơn.
Đảm bảo hiệu suất độ trễ ổn định. Chúng tôi có thể thêm các trường phản hồi khác trong tương lai và các trường mới đó có thể cần thêm thời gian tính toán. Nếu chọn tất cả các trường hoặc nếu chọn tất cả các trường ở cấp cao nhất, bạn có thể thấy hiệu suất giảm vì mọi trường mới mà chúng tôi thêm vào sẽ tự động được đưa vào phản hồi của bạn.
Kết quả là kích thước phản hồi nhỏ hơn, dẫn đến băng thông mạng cao hơn.
Để biết thêm thông tin về cách tạo đường dẫn trường, hãy xem field_mask.proto.