ComputeRoutes()
메서드를 호출할 때 응답에서 반환할 필드를 지정해야 합니다. URL 매개변수 $fields
또는 fields
와 함께 제공하는 응답 필드 마스크를 사용하거나 HTTP/gRPC 헤더 X-Goog-FieldMask
를 사용하여 이를 수행합니다. 자세한 내용은 시스템 매개변수를 참고하세요.
필드 마스크
필드 마스크 값은 쉼표로 구분된 필드 경로 목록입니다. 각 필드 경로는 메시지 계층 구조를 나타내는, 점으로 구분된 필드 이름 목록입니다. 필드 이름은 JSON 객체 키 또는 protobuf 필드 태그 이름입니다. 필드 경로는 최상위 응답 메시지 유형에서 시작하고 필요에 따라 하나 이상의 점이 오고 그 뒤에 다음 수준의 필드 이름이 옵니다. 일반적으로 필드 경로는 다음과 같은 방식으로 구성됩니다.
topLevelField[.secondLevelField][.thirdLevelField][...]
특별한 경우 필드 마스크는 모든 루트 수준 필드를 선택하는 와일드 카드 '*'입니다.
예
다음 예시에서는 ComputeRoutes()
메서드의 필드 마스크를 설정하는 방법을 보여줍니다.
예시 1
사용 가능한 모든 필드의 필드 마스크 (수동 검사용)
X-Goog-FieldMask: *
예 2
경로 수준 지속 시간, 거리 및 다중선의 필드 마스크 (프로덕션 설정의 예)
X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.polyline
프로덕션에서는 와일드 카드 (*) 응답 필드 마스크를 사용하거나 최상위 수준 (경로)에 필드 마스크를 지정하지 않는 것이 좋습니다. 필요한 필드만 선택하면 됩니다.
서버가 처리 주기를 단축하여 더 짧은 지연 시간으로 결과를 반환할 수 있습니다.
안정적인 지연 시간 성능을 보장합니다. 향후 응답 필드를 더 추가할 수 있으며 이러한 새 필드에는 추가 계산 시간이 필요할 수 있습니다. 모든 필드를 선택하거나 최상위 수준의 모든 필드를 선택하면 새로 추가하는 필드가 자동으로 응답에 포함되므로 성능이 저하될 수 있습니다.
결과적으로 응답 크기가 작아지고 네트워크 처리량이 높아집니다.
필드 경로를 구성하는 방법에 대한 자세한 내용은 field_mask.proto를 참조하세요.