如何 return Protobuf 服务 rpc 中的数组
How to return an array in Protobuf service rpc
我的 .proto
文件中有以下架构:
service MyService {
rpc GetItem (ItemQuery) returns (Item) {
}
}
message ItemQuery {
int id = 1;
}
message Item {
int id = 1;
string name = 2;
}
现在我想向 return 多个项目添加另一个 rpc 方法。
像这样:
rpc GetItems (ItemsQuery) returns (repeated Item) {
}
有没有比定义 Items 消息更好的方法?
选项 1 - 使用流:
rpc GetItems (ItemsQuery) returns (stream Item) {
}
选项 2 - 设置将使用重复对象的响应消息:
service MyService {
rpc GetItem (ItemQuery) returns (ItemResponse) {
}
}
message ItemQuery {
int id = 1;
}
message ItemResponse {
repeated Item items = 1;
}
message Item {
int id = 1;
string name = 2;
}
我的 .proto
文件中有以下架构:
service MyService {
rpc GetItem (ItemQuery) returns (Item) {
}
}
message ItemQuery {
int id = 1;
}
message Item {
int id = 1;
string name = 2;
}
现在我想向 return 多个项目添加另一个 rpc 方法。 像这样:
rpc GetItems (ItemsQuery) returns (repeated Item) {
}
有没有比定义 Items 消息更好的方法?
选项 1 - 使用流:
rpc GetItems (ItemsQuery) returns (stream Item) {
}
选项 2 - 设置将使用重复对象的响应消息:
service MyService {
rpc GetItem (ItemQuery) returns (ItemResponse) {
}
}
message ItemQuery {
int id = 1;
}
message ItemResponse {
repeated Item items = 1;
}
message Item {
int id = 1;
string name = 2;
}