使用JSON模式验证protobuf消息?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用JSON模式验证protobuf消息?相关的知识,希望对你有一定的参考价值。

我的团队正在尝试了解如何最好地在我们的产品中使用protobuf。我们喜欢使语言中立的对象定义基于(反序列化)的想法。同时,我们要验证我们各种服务之间传输的消息中字段的值。

似乎protobuf选择删除proto3中的requiredoptional字段。到目前为止,我们已经使用JSON Schema进行验证。它为您提供了对值字段可以具有约束的方法。

我们正在考虑同时使用protobufJSON Schema。一种用于定义我们以语言无关的方式传输的消息(protobuf),另一种用于验证这些消息中的值(json模式)。

感觉就像我们通过这样做来重复工作。有没有更简单的方法来完成我们正在描述的内容?

答案

该项目为Protobuf文件实现了类似于JSON模式的验证器。https://github.com/envoyproxy/protoc-gen-validate

以上是关于使用JSON模式验证protobuf消息?的主要内容,如果未能解决你的问题,请参考以下文章

流式传输 protoBuf 消息的设计模式

golang中使用消息名称创建protobuf消息

Protobuf 的 Kafka 模式注册表

idea使用Protobuf插件

使用 zap logger 将 protobuf 消息正确记录为未转义的 JSON

使用管理 API 将 Protobuf 消息发布到 Pulsar 模式注册表时出现 500 错误