在我的proto
文件中,定义了一个服务接口:
syntax = "proto3";
package mynamespace;
import "google/protobuf/empty.proto";
service MyService {
rpc isTokenValid (TokenRequest) returns (TokenResponse) {
}
}
message TokenRequest {
string token = 1;
}
message TokenResponse {
bool valid = 1;
}
以上方法效果很好,但是,我认为TokenResponse很丑陋。 bool valid = 1
是多余的,理想情况下应类似于以下内容
rpc isTokenValid (TokenRequest) returns (BooleanResponse) {
}
但是我没有弄清楚如何编写proto
文件,任何专家都可以分享一些最佳实践吗?
谢谢!
如何直接返回数组?例如,这是我的代码:
service MyService {
rpc arrayResponse (TokenRequest) returns (ArrayResponse) {}
}
message ArrayResponse {
repeated Data data = 1;
}
message Data {
string field1 = 1;
string field2 = 2;
}
我认为这很丑,如何以正确的Google方式重构?
谢谢!
答案 0 :(得分:3)
为什么不只使用Google BoolValue中指定的预定义wrappers.proto来回应?
类似的东西:
syntax = "proto3";
package mynamespace;
import "google/protobuf/wrappers.proto";
service MyService {
rpc isTokenValid (TokenRequest) returns (google.protobuf.BoolValue) {
}
}
message TokenRequest {
string token = 1;
}