您好我正在使用 gRPC Ruby 插件与服务通信。原型定义包含(proto3):
uint32 id = 1;
但是,当我将 nil 分配给 id 时,它会引发错误 - 整数字段的预期数字。但是对于字符串, nil 值可以正常工作。如何允许整数/浮点字段的 nil 值?
您好我正在使用 gRPC Ruby 插件与服务通信。原型定义包含(proto3):
uint32 id = 1;
但是,当我将 nil 分配给 id 时,它会引发错误 - 整数字段的预期数字。但是对于字符串, nil 值可以正常工作。如何允许整数/浮点字段的 nil 值?
proto3 中字符串的默认值为空 - https://github.com/google/protobuf/issues/359
因此它可以在不返回错误的情况下接收 nil 值,另一方面,整数的默认值设置为 0。如果您不想传递任何值,请尝试传递 0。
建议: - 如果您不希望为使用 proto3 编写的消息传递任何元组,您可以将消息留空,这是定义消息的一种非常有效的方式。
例如:-
syntax="proto3"
service Foo{
rpc Index(Empty) Returns(Nothing){}
}
message Empty{}
message Nothing{}