我想通过向后兼容性保护我的应用程序免受未来问题的影响。现在我有这个版本test.proto
:
syntax = "proto3";
service TestApi {
rpc DeleteFoo(DeleteFooIn) returns (BoolResult) {}
rpc DeleteBar(DeleteBarIn) returns (BoolResult) {}
}
message DeleteFooIn {
int32 id = 1;
}
message DeleteBarIn {
int32 id = 1;
}
message BoolResult {
bool result = 1;
}
我对将结果消息更改DeleteBar()
为“DeleteBarOut”之类的消息的情况感兴趣:
syntax = "proto3";
service TestApi {
rpc DeleteFoo(DeleteFooIn) returns (BoolResult) {}
rpc DeleteBar(DeleteBarIn) returns (DeleteBarOut) {}
}
message DeleteFooIn {
int32 id = 1;
}
message DeleteBarIn {
int32 id = 1;
}
message DeleteBarOut {
reserved 1;
string time = 2;
}
message BoolResult {
bool result = 1;
}
问题是关于与旧.proto
. 我可以将结果消息的名称从“BoolResult”更改为“DeleteBarOut”吗?
或者我应该保存消息的旧名称并编辑“BoolResult”的字段列表?但是,我怎样才能DeleteFoo()
从这个解决方案中的任何更改中保存?