猿问

大猩猩 jsonrpc 得到空响应

为什么我的 jsonrpc 方法返回空响应?


type Args struct {

  A, B int

}


type Response struct {

  sum int

  message string

}


type Arith int


func (t *Arith) Add(r *http.Request, args *Args, reply *Response) error {

  reply.sum = args.A + args.B

  reply.message = "Do math"


  // this does not work either


  //*reply = Response{

  //  sum : 12,

  //  message : "Do math",

  //}


  return nil

}

要求:


{"method":"Arith.Add","params":[{"A": 10, "B":2}], "id": 1}

回复:


{

  "result": {},

  "error": null,

  "id": 1

}

但是,如果我将类型设置reply为*string,那么这将正常工作:


*reply = "Responding with strings works"

回复:


{

  "result": "Responding with strings works",

  "error": null,

  "id": 1

}

我正在使用http://www.gorillatoolkit.org/pkg/rpc。


一只萌萌小番薯
浏览 174回答 1
1回答

收到一只叮咚

您的Response字段未导出。名称应为大写:type Response struct {    Sum     int    Message string}
随时随地看视频慕课网APP

相关分类

Go
我要回答