Par*_*mal 4 proto grpc proto3 grpc-java
我们正计划将我们现有的服务迁移到 grpc 服务。所以需要将服务转换为原型定义的消息类型。在响应中,我们以自定义对象为键进行映射。
例如回应:
//java
Map<key_object, Project>
//proto
map<key_object_not_supported, Project> projects = 3;
Run Code Online (Sandbox Code Playgroud)
在官方文档中,他们提到,
其中 key_type 可以是任何整数或字符串类型(因此,除了浮点类型和字节之外,任何标量类型)。value_type 可以是任何类型
是否有其他方法可以在 proto3 中实现自定义对象键映射?
对地图的支持是一个相当新的扩展。如果您的密钥与约束不匹配,您可以改用旧方法:
定义密钥对消息并将其用作重复字段。所以,在你的例子中:
message KeyValuePair {
key_object_not_supported key = 1;
Project value = 2;
}
message MyMap {
repeated KeyValuePair entries = 1;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2491 次 |
最近记录: |