Chọn các trường cần trả lại

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 cùng với tham số URL $fields hoặc fields, hoặc bằng cách dùng tiêu đề HTTP/gRPC X-Goog-FieldMask. Để biết thêm thông tin, hãy xem bài viết Tham số hệ thống.

Mặt nạ trường

Giá trị mặt nạ trường là danh sách các đườ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 rồi đến cấp tiếp theo của tên trường. Nhìn 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ả các trường ở cấp độ gốc.

Ví dụ

Ví dụ sau 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 thể hiện thời lượng, khoảng cách và hình nhiều đường ở cấp tuyến đường (ví dụ về chế độ thiết lập phiên bản 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 (tuyến đường) trong phiên bản chính thức. Chỉ chọn những trường bạn cần:

  • Cho phép máy chủ của chúng tôi lưu chu kỳ xử lý, nhờ đó, chúng tôi có thể trả về kết quả cho bạn với độ trễ thấp hơn.

  • Đảm bảo hiệu suất ổn định về độ trễ. Chúng tôi có thể thêm các trường phản hồi khác trong tương lai và những trường mới đó có thể cần thêm thời gian tính toán. Nếu chọn mọi trường hoặc chọn tất cả các trường ở cấp cao nhất, bạn có thể bị suy giảm hiệu suất vì mọi trường mới mà chúng tôi thêm 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, đồng nghĩa với việc thông lượng mạng sẽ 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.