dubbo插件,是soul支持dubbo框架的插件。dubbo插件开启,并且当请求头的rpcType字段为dubbo的时候,会走这个插件。
dubbo的选择器列图:
当插件开启时候,如上图:并且请求头的module字段值是order时候,会被匹配上。之后会去匹配规则。
规则图:
上图代表当你在上一步选择器匹配之后,如果请求头中的method字段值是findById,那么该规则就会被匹配。
Hystrix : 进行dubbo泛化调用时候熔断器的参数。
dubbo配置:这就是dubbo的配置,注册地址请填写zookeeper的地址。其他的我不说,我相信你们也懂。。
dubbo参数json格式如下 :
{
"interfaceName":"org.dromara.soul.test.dubbo.api.service.DubboTestService",
"method":"insert",
"paramClass":"[org.dromara.soul.test.dubbo.api.entity.DubboTest]",
"classParams":[
{
"id":"xxxx",
"name":"xiaoyu"
}
],
"params":{
"java.lang.String":[
"aaa",
"1bnbb"
],
"java.lang.Integer":"1"
}
}
interfaceName 字段为必填,意思是你请求的接口。
method字段为必填,意思是你请求的方法。
paramClass 意思是如果你请求的方法参数是一个java对象,那么这里填写你java对象的路径。
classParams 意思是你请求java对象参数的属性,用json表示。
params 这个字段是你的请求参数类型,比如你的参数是一个String,Int 等。 如果是连续相同类型的参数,那么就要写成一个数组。
soul网关会根据你的请求参数进行dubbo的泛化调用,然后把结果返回。
dubbo使用参数类型建议,如果是很复杂的对象,建议使用String,参数填写json字符串,然后在提供方进行解析字符串。
注意 如果你的方法参数类型,自由去组合的。 上面列子中,方法的参数类型 为 DubboTest,String ,String ,Integer
在soul 1.0.2 版本中,dubbo参数在http header 头中,设置字段Key为"dubbo_params" value值为json格式。
在soul 1.0.4 版本中,直接在body里面设置上述json格式数据。
当前内容版权归 dromara.org 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 dromara.org .