apache / apache/dubbo-go

复杂类型中支持类型反序列化声明

Open
#1,673 3 comments 0 reactions 1 assignee Claimed by @wongoo View on GitHub
good first issue
Dominant language
Go
Stars
5k
Forks
1k
Avg merge
2d 8h
Merged PRs (30d)
31

Description

go client 调用java provider
### Version
go version

> dubbo.apache.org/dubbo-go/v3 v3.0.0
> github.com/apache/dubbo-go-hessian2 v1.10.0
> github.com/dubbogo/grpc-go v1.42.6-tripl

java version

> org.apache.dubbo
> dubbo
> 2.7.3.5-ext

### 服务端接口声明

`RiskServerResponse riskEntry(RiskCommonJsonReq req);`

调用参数,使用fastJson的JSONObject
```
public class RiskCommonJsonReq implements Serializable {
private JSONObject commonParams;
private JSONObject bizParams;
....
}

```

### GO调用代码

```
resp, err := refConf.GetRPCService().(*generic.GenericService).Invoke(
context.TODO(),
"riskEntry",
[]string{"common.model.RiskCommonJsonReq"},
[]hessian.Object{
map[string]hessian.Object{
"bizParams": map[string]hessian.Object{
"texts": []hessian.Object{ // 想反序列化得到一个arrayList的对象
"微信15245671890",
},
},
"commonParams": map[string]hessian.Object{
"code": "SHOP_INFO_NICKNAME",
"ip": "1.2.3.4",
"userId": "12345",
},
},
},
)
```

如果text 写成[]string, JAVA 端那么序列化出来的类型,String[]
如果text写[]hessian.object,那么JAVA反序列出来的类型Object[], 都不满足服务端的解析要求;
能否提供对arrayList的类型声明支持,或有其他实现路径?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.