gRPC-JSON transcoder¶
gRPC-JSON transcoder configuration overview.
config.filter.http.transcoder.v2.GrpcJsonTranscoder¶
[config.filter.http.transcoder.v2.GrpcJsonTranscoder proto]
{
"proto_descriptor": "...",
"proto_descriptor_bin": "...",
"services": [],
"print_options": "{...}"
}
- proto_descriptor
(string) Supplies the filename of the proto descriptor set for the gRPC services.
Precisely one of proto_descriptor, proto_descriptor_bin must be set.
- proto_descriptor_bin
(bytes) Supplies the binary content of the proto descriptor set for the gRPC services.
Precisely one of proto_descriptor, proto_descriptor_bin must be set.
- services
- (string, REQUIRED) A list of strings that supplies the service names that the
transcoder will translate. If the service name doesn’t exist in
proto_descriptor
, Envoy will fail at startup. Theproto_descriptor
may contain more services than the service names specified here, but they won’t be translated.
- print_options
- (config.filter.http.transcoder.v2.GrpcJsonTranscoder.PrintOptions) Control options for response JSON. These options are passed directly to JsonPrintOptions.
config.filter.http.transcoder.v2.GrpcJsonTranscoder.PrintOptions¶
[config.filter.http.transcoder.v2.GrpcJsonTranscoder.PrintOptions proto]
{
"add_whitespace": "...",
"always_print_primitive_fields": "...",
"always_print_enums_as_ints": "...",
"preserve_proto_field_names": "..."
}
- add_whitespace
- (bool) Whether to add spaces, line breaks and indentation to make the JSON output easy to read. Defaults to false.
- always_print_primitive_fields
- (bool) Whether to always print primitive fields. By default primitive fields with default values will be omitted in JSON output. For example, an int32 field set to 0 will be omitted. Setting this flag to true will override the default behavior and print primitive fields regardless of their values. Defaults to false.
- always_print_enums_as_ints
- (bool) Whether to always print enums as ints. By default they are rendered as strings. Defaults to false.
- preserve_proto_field_names
- (bool) Whether to preserve proto field names. By default protobuf will
generate JSON field names using the
json_name
option, or lower camel case, in that order. Setting this flag will preserve the original field names. Defaults to false.