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 trả về trong phản hồi. Bạn có thể thực hiện việc này bằng cách sử dụng một 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à một 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ệ thống 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, và có thể 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. Nói chung, đường dẫn đến trường được tạo theo cách sau:

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

Mặt nạ trường theo 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 đâ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 đường (ví dụ về chế độ thiết lập sản xuất).

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 đường) trong quá trình sản xuất. 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 các 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 độ 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à những 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 nếu chọn tất cả các trường ở cấp cao nhất, bạn có thể gặp phải tình trạng 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.

  • Dẫn đến kích thước phản hồi nhỏ hơn, giúp tăng thông lượng mạng.

Để biết thêm thông tin về cách tạo đường dẫn trường, hãy xem field_mask.proto.