首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在proto3中定义必填字段

在proto3中定义必填字段
EN

Stack Overflow用户
提问于 2021-10-24 19:17:01
回答 1查看 88关注 0票数 1

我在Php中使用protobuf和version3。下面是我的原型文件

代码语言:javascript
复制
syntax ="proto3";

package message.events.user.v1;

message UserWasActivatedMessage {
  int32 userId = 1 ;
  string eventType = 2;
}

这是我的proto文件,只要我没有设置任何用户或事件proto就会自动设置一个我不想要的默认值,现在我希望用户在发送消息时显式定义每个值,因为这将减少不定义任何值的机会

EN

回答 1

Stack Overflow用户

发布于 2021-10-24 21:07:42

这是协议缓冲区的一个“功能”,不能使用标准SDK覆盖。请参见:

https://developers.google.com/protocol-buffers/docs/proto3#default

我假设拥有默认值的要求是由于on- the -wire消息的无模式性质的结果,其中必须包括所有字段,并且无法将值指定为nil。

是的,nil和default在含义上是有区别的,但是你不能在protocol buffer中反映出来。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69700022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档