반환할 필드 선택

ComputeRoutes() 메서드를 호출할 때는 응답에 반환할 필드를 지정해야 합니다. 이렇게 하려면 URL 매개변수 $fields 또는 fields와 함께 제공하는 응답 필드 마스크를 사용하거나 HTTP/gRPC 헤더 X-Goog-FieldMask를 사용하면 됩니다. 자세한 내용은 시스템 매개변수를 참고하세요.

필드 마스크

필드 마스크 값은 쉼표로 구분된 필드 경로 목록입니다. 각 필드 경로는 메시지 계층 구조를 나타내는 필드 이름을 점으로 구분한 목록입니다. 필드 이름은 JSON 객체 키이거나 protobuf 필드 태그 이름입니다. 필드 경로는 최상위 응답 메시지 유형부터 시작하며, 선택적으로 그 뒤에 1개 이상의 점과 다음 수준의 필드 이름이 옵니다. 일반적으로 필드 경로는 다음과 같은 방식으로 구성됩니다.

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

특수 케이스 필드 마스크는 모든 루트 수준 필드를 선택하는 와일드 카드 '*'입니다.

다음 예에서는 ComputeRoutes() 메서드의 필드 마스크를 설정하는 방법을 보여줍니다.

예 1

사용 가능한 모든 필드의 필드 마스크 (수동 검사용)

X-Goog-FieldMask: *

예 2

경로 수준 소요 시간, 거리, 다중선의 필드 마스크 (프로덕션 설정 예)

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

와일드 카드 (*) 응답 필드 마스크를 사용하거나 프로덕션의 최상위 수준 (경로)에서 필드 마스크를 지정하는 것은 권장하지 않습니다. 필요한 필드만 선택하면 됩니다.

  • 서버가 처리 주기를 절약하여 지연 시간을 단축하여 결과를 반환할 수 있습니다.

  • 안정적인 지연 시간 성능을 보장합니다. 향후 더 많은 응답 필드를 추가할 수 있으며 이러한 새 필드에는 추가 계산 시간이 필요할 수 있습니다. 모든 필드를 선택하거나 최상위 수준에서 모든 필드를 선택하면 추가되는 새 필드가 응답에 자동으로 포함되므로 성능이 저하될 수 있습니다.

  • 따라서 응답 크기가 작아져 네트워크 처리량이 높아집니다.

필드 경로를 구성하는 방법에 대한 자세한 내용은 field_mask.proto를 참조하세요.