我有一个定义如下的原型模式,
message User {
int64 id = 1;
bool email_subscribed = 2;
bool sms_subscribed = 3;
}
现在根据官方proto3 文档,默认值不会序列化以在有线传输期间节省空间。但在我的情况下,我想接收客户端是否明确设置true/false
了字段email_subscribed/sms_subscribed
(因为这些值是true
以前的,但现在用户想要取消订阅)。因此,当客户端发送false
这些字段中的任何一个时,生成器代码序列化器只会忽略这些字段。
我如何实现这一点并避免在上述情况下省略这些字段?
PS:我使用 Javascript 作为我的 GRPC 客户端和 Python 和 GRPC 服务器。