【发布时间】:2020-03-15 22:28:51
【问题描述】:
我目前正在使用 protobuf 将我们基于 rest api 的 go 服务迁移到 gRPC。这是一项包含大量 API 且已投入生产的大型服务,因此我不想进行太多更改以破坏现有系统。
所以我想使用我的 go 模型作为事实来源,并生成我认为我可以管理的 .proto 消息 - Generate proto file from golang struct
现在我的 API 也期望根据定义的 go 模型进行请求和响应,我将更改它们以使用 .proto 模型进行请求和响应。但是当请求/响应通过时,我想将它们包装在我的 go 模型中,然后其余代码不需要任何更改。
在这种情况下,如果请求很小,我可以简单地复制 go 模型中的所有字段,但如果请求很大或嵌套模型,那就是个大问题了。
1) 我这样做对吗?
2) 不,正确的方法是什么?
3) 是的,我如何将大原始消息复制到模型中,反之亦然以进行响应?
【问题讨论】:
标签: go protocol-buffers grpc