gpt4 book ai didi

protocol-buffers - 停止省略 Protocol Buffer 中的默认值

转载 作者:行者123 更新时间:2023-12-04 18:57:00 30 4
gpt4 key购买 nike

我有一个定义如下的原型(prototype)模式,

message User {
int64 id = 1;
bool email_subscribed = 2;
bool sms_subscribed = 3;
}

现在根据官方 proto3 documentation ,默认值不序列化,以节省有线传输期间的空间。但在我的情况下,我想收到客户端是否明确设置 true/false对于字段 email_subscribed/sms_subscribed (因为之前的值是 true,但现在用户想要取消订阅)。因此,当客户端发送 false对于这些字段中的任何一个,生成器代码序列化程序只是省略这些字段。

我如何实现这一点并避免在上述情况下省略这些字段?

PS:我使用 Javascript 作为我的 GRPC 客户端和 Python 和 GRPC 服务器。

最佳答案

另一种选择是使用 wrappers与proto3。它们基本上将您的值包装在一条消息中,因此在父消息中它可以保留为空。

这样,您可以通过一些额外的工作来区分 bool 字段上的 null/false/true。

关于protocol-buffers - 停止省略 Protocol Buffer 中的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50129443/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com