跳到主要内容

HTTP转Dubbo 配置说明

本文介绍了envoy.extensions.filters.http.http_dubbo_transcoder.v3.HttpDubboTranscoder这个Filter的相关配置项。

HttpDubboTranscoder

字段类型说明
url_unescape_specenumURL unescaping policy可选值:
- ALL_CHARACTERS_EXCEPT_RESERVED
- ALL_CHARACTERS_EXCEPT_SLASH
- ALL_CHARACTERS
request_validation_optionsRequestValidateOptions请求验证选项
services_mappinglist of DubboServiceMapping每一项对应了一条映射规则

HttpDubboTranscoder.RequestValidateOptions

字段类型说明
reject_unknown_query_parametersbool对于无法成功映射query parameters的请求是否直接拒绝
reject_unknown_methodbool对于无法映射为dubbo服务的请求是否直接拒绝

HttpDubboTranscoder.DubboServiceMapping

字段类型说明
namestringdubbo服务名例如:"com.alibaba.nacos.example.dubbo.service.DemoService"
versionstringdubbo服务的版本例如:"1.0.0"
groupstringdubbo服务的分组例如:"dev"
method_mappinglist of DubboMethodMapping每一项对应了指定dubbo服务中的某个方法的映射规则

HttpDubboTranscoder.DubboMethodMapping

字段类型说明
namestring方法名例:"sayName"
path_matcherPathMatcher方法匹配规则
parameter_mappinglis of ParameterMapping每一项对应一个参数映射规则
passthrough_settingPassthroughSetting指定Header透传规则

HttpDubboTranscoder.DubboMethodMapping.PathMatcher

字段类型说明
match_patternstring方法的匹配路径|例如:"/dubbo/hello"
match_http_method_specenum方法匹配的HTTP Method可选值:
-ALL_GET
- ALL_POST
- ALL_PUT
- ALL_DELETE
- ALL_PATCH

HttpDubboTranscoder.DubboMethodMapping.ParameterMapping

字段类型说明
extract_key_specenum参数提取位置可选值:
- ALL_QUERY_PARAMETER
- ALL_HEADER
- ALL_PATH
- ALL_BODY
extract_keystring参数提取的key例:my_param
mapping_typestring参数在dubbo服务中的类型例:"java.lang.String"

HttpDubboTranscoder.DubboMethodMapping.PassthroughSetting

配置HTTP Header透传规则,被透传的Header会被放在Dubbo调用的attachment中传给dubbo服务

注:Header的透传规则,此项配置为one of类型,下面两个字段选其一

字段类型说明
passthrough_all_headersbool透传所有Header
passthrough_headerslist of string透传指定Header,每一项指定了Header中的一个key