【发布时间】:2018-10-12 06:09:27
【问题描述】:
我有一个如下定义的原型架构,
message User {
int64 id = 1;
bool email_subscribed = 2;
bool sms_subscribed = 3;
}
现在根据官方proto3 documentation,默认值不会序列化以节省有线传输期间的空间。但在我的情况下,我想接收客户端是否为字段email_subscribed/sms_subscribed 明确设置了true/false(因为之前的值是true,但现在用户想要取消订阅)。因此,当客户端为这些字段中的任何一个发送false 时,生成器代码序列化器只会忽略这些字段。
如何实现这一点,避免上述场景中这些字段的遗漏?
PS:我使用 Javascript 作为我的 GRPC 客户端以及 Python 和 GRPC 服务器。
【问题讨论】:
-
现在已经改变了;查看我的答案的更新
标签: protocol-buffers grpc proto3 protobuf.js