2

下位互換性を維持しながら、将来の問題からアプリケーションを保護したいと考えています。今、私はこのバージョンを持っています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()しかし、このソリューションの変更からどのように保存できますか?

4

1 に答える 1