Учитывая следующее определение прототипа. Могут ли все автоматически сгенерированные клиенты grpc, созданные с помощью генерации кода Google, опускать поля отправки в PagingInfo?
В клиенте python я могу не отправлять это поле, используя такой код:
request = SearchRequest(paging_info=dict(a=OptionalField(d='d', e='e')), query='blah')
Определение протокола grpc:
syntax = "proto3";
message OptionalField {
string d = 1;
string e = 2;
}
message PagingInfo {
OptionalField a = 1;
OptionalField b = 2;
OptionalField c = 3;
}
message SearchRequest {
string query = 1;
PagingInfo paging_info = 2;
}
message SearchResponse {
string a = 1;
}
service SearchService {
rpc Search (SearchRequest) returns (SearchResponse);
}