各RPCメソッドに対してユニークなリクエストとレスポンスを作成する
各RPCメソッドに対して、ユニークなリクエストとレスポンスを作成してください。
後からトップレベルのリクエストやレスポンスを分岐するのはコストがかかります。
これには「空の」レスポンスも含まれます。
well-known Emptyメッセージタイプを再利用するのではなく、ユニークな空のレスポンスプロトを作成してください。
メッセージの再利用
メッセージを再利用するには、複数のリクエストとレスポンスプロトに含める共有「ドメイン」メッセージ型を作成します。
リクエストとレスポンスの型ではなく、これらの型の観点からアプリケーションロジックを記述します。
message ListHogeResponse {
repeated Hoge hoges = 1;
string next_page_token = 2;
}
// ドメインメッセージ型 これを再利用する
message Hoge {
string id = 1;
string name = 2;
}
これにより、メソッドのリクエスト/レスポンス型を独立して進化させることができますが、論理的なサブユニットのコードを共有できます。