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 bạn muốn 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 với 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ạ cho trường (field mask)

Giá trị mặt nạ cho trường (field mask) 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 biểu thị 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, sau đó là cấp tiếp theo của tên trường. Nhìn chung, đường dẫn trường được xây dựng theo cách sau:

topLevelField[.secondLevelField][.thirdLevelField][...]

Mặt nạ cho trường (field mask) đặc biệt là một ký tự đại diện “*", giúp 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 của thời lượng, khoảng cách và hình nhiều đường ở cấp Tuyến đường (một ví dụ về thiết lập sản xuất).

X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.polyline

Chúng tôi không khuyến khích 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) 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 về độ trễ ổn định. Chúng tôi có thể thêm nhiều trường phản hồi hơn trong tương lai và các trường mới đó có thể yêu cầu thêm thời gian tính toán. Nếu chọn tất cả các trường hoặc chọn tất cả các trường ở cấp cao nhất, thì 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 sẽ tự động được đưa vào phản hồi của bạn.

  • Kích thước phản hồi nhỏ hơn, từ đó dẫn đến thông lượ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.