Soul网关-day03-Dubbo插件
dubbo插件,是soul支持dubbo框架的插件。dubbo插件开启,并且当请求头的rpcType字段为dubbo的时候,会走这个插件。
dubbo的选择器列图:dubbo插件
当插件开启时候,如上图:并且请求头的module字段值是order时候,会被匹配上。之后会去匹配规则。
规则图:dubbo插件
上图代表当你在上一步选择器匹配之后,如果请求头中的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":[
"xxxxxPPPP",
"foobar"
],
"java.lang.Integer":"1"
}
}
interfaceName字段为必填,意思是你请求的接口。
method字段为必填,意思是你请求的方法。
paramClass:如果你请求的方法参数是一个java对象,那么这里填写你java对象的路径。
classParams:请求java对象参数的属性,用json表示。
params:请求参数类型,比如你的参数是一个String,Int 等。 如果是连续相同类型的参数,那么就要写成一个数组。
soul网关会根据你的请求参数进行dubbo的泛化调用,然后把结果返回。
dubbo使用参数类型建议,如果是很复杂的对象,建议使用String,参数填写json字符串,然后在提供方进行解析字符串。