我想将我的服务导出为 RPC 服务,我的本地方法是从 db 获取所有用户(结构类型),如下所示,func GetUsers() ([]model.User) { // business logic}现在我将方法包装为 RPC 模式,如下所示,func (api *API) RpcGetUsers(_, reply []*model.User) error { reply = dal.GetUsers() return nil}但是当我运行该函数时,发生了恐慌。它提到“方法“RpcGetUsers”的回复类型不是指针:“[]*model.User””我该如何解决这个问题?
1 回答
呼唤远方
TA贡献1856条经验 获得超11个赞
RPC 文档说该方法必须如下所示:
func (t *T) MethodName(argType T1, replyType *T2) error
所以你需要一个请求和一个回复类型。你可以这样做:
type Empty struct{}
type Users struct {
Users []model.User
}
func (api *API) RpcGetUsers(_ *Empty, reply *Users) error {
...
}
- 1 回答
- 0 关注
- 215 浏览
添加回答
举报
0/150
提交
取消
