【发布时间】:2019-02-04 21:32:27
【问题描述】:
我有一个 Go 结构,我们目前在我们的 RESTful API 中使用它,如下所示:
type Req struct {
Amount *int
}
我这里用的是指针,因为如果Amount是nil,说明Amount没有填,如果Amount不是nil,但是是0,说明这个字段被填了,但是值是零。
当我们开始更改为 protofiles 并希望使用它时,主 API 将请求作为 HTTP API 获取,并通过 gRPC 将其发送到下一个服务,使用与我遇到问题相同的 protofile,proto3无法为金额生成指针。这很好,因为协议缓冲区是为在分离的系统之间发送数据而设计的,但是我该如何处理上述问题,因为如果我收到请求,我无法确定 Amount 是 nil 还是为零。
【问题讨论】:
标签: go protocol-buffers grpc