5
Tôi có giản đồ sau đây trong tập tin .proto
tôi:Làm thế nào để trả lại một mảng trong Protobuf rpc dịch vụ
service MyService {
rpc GetItem (ItemQuery) returns (Item) {
}
}
message ItemQuery {
int id = 1;
}
message Item {
int id = 1;
string name = 2;
}
Bây giờ tôi muốn thêm một phương pháp rpc để trả lại nhiều mục. Một cái gì đó như thế này:
rpc GetItems (ItemsQuery) returns (repeated Item) {
}
Có cách nào tốt hơn để làm điều đó hơn là xác định thư mục?
tôi đến trễ cho bữa tiệc, nhưng: Liệu phương án 2 có bất kỳ lợi thế nào trên tùy chọn 1 hoặc ngược lại không? – LuMa
Tùy chọn 1 là một luồng, điều đó có nghĩa là bạn đang trả về một trình lặp và điều đó có nghĩa là bạn có thể bắt đầu xử lý các mục trên máy khách ngay cả trước khi máy chủ gửi xong tất cả chúng. Tùy chọn 2 là một đối tượng phản hồi có chứa một danh sách các mục của bạn. Bạn có thể thêm một số thuộc tính khác vào ItemResponse của bạn (một số siêu dữ liệu, v.v.) ... – Shoham