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 các trường mà bạn muốn muốn được trả về trong phản hồi. Bạn thực hiện điều này bằng cách sử dụng mặt nạ trường phản hồi. mà bạn cung cấp 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 System Parameters (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à 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. Đáp tên trường là khoá đối tượng JSON hoặc tên thẻ trường protobuf. Chiến lược phát hành đĩa đơn đườ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à không bắt buộc 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 xây dựng theo cách sau:

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

Mặt nạ trường đặc biệt dạng chữ hoa chữ thường là ký tự đại diện “*”, chọn mọi thông tin ở cấp độ gốc mới.

Ví dụ

Ví dụ sau đây minh hoạ cách đặt mặt nạ trường cho 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

Chúng tôi không khuyến khích việc 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 mà 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ả lại kết quả có độ 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à các trường mới đó có thể yêu cầu thêm thời gian tính toán. Nếu bạn 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 suy giảm hiệu suất vì bất kỳ trường mới nào mà chúng tôi thêm vào sẽ tự động trong phản hồi của bạn.

  • Kích thước phản hồi nhỏ hơn, dẫn đến kết quả mạng cao hơn thông lượng.

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