ヌルリクエストまたはレスポンスでgrpc呼び出しを定義できますか? 質問する

ヌルリクエストまたはレスポンスでgrpc呼び出しを定義できますか? 質問する

proto3 の rpc 構文では null 要求または応答が許可されますか?

例えば、次のようなものが欲しいです:

rpc Logout;
rpc Status returns (Status);
rpc Log (LogData);

それとも null 型を作成するだけでよいでしょうか?

message Null {};

rpc Logout (Null) returns (Null);
rpc Status (Null) returns (Status);
rpc Log (LogData) returns (Null);

ベストアンサー1

ケントン氏の以下のコメントは有益なアドバイスです。

... 開発者として、私たちは将来何が必要になるかを推測するのが本当に苦手です。そのため、安全のために、たとえ空であっても、すべてのメソッドに対してカスタム パラメータと結果の型を常に定義することをお勧めします。


私自身の質問に答えます:

デフォルトの proto ファイルを調べていたところ、上で提案した Null 型とまったく同じEmptyを見つけました:)

そのファイルからの抜粋:

// A generic empty message that you can re-use to avoid defining duplicated
// empty messages in your APIs. A typical example is to use it as the request
// or the response type of an API method. For instance:
//
//     service Foo {
//       rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
//     }
//

message Empty {

}

おすすめ記事