以下に新しいコードをprotobufファイルに追加し、生成されたgrpc_pbファイルを取得するためにコンパイルしました。
service EchoService {
rpc Echo(EchoMessage) returns (EchoMessage) {
#-----New code start-----
option (google.api.http) = {
post: "/v1/echo"
body: "*"
};
#-----New code end------
}
}
コマンドの下で実行されたcURLコマンドから
curl -X POST -k https://localhost:10000/v1/echo -d '{"Key": "Value"}'
上記のリクエストを行った後、適切な応答を得ることができません。
私の疑問は、呼び出し側に送り返す応答を準備するために必要なサーバー側コードの変更ですか?その場合は、コード(Java)とリクエストの方法を教えてください。そうでない場合、どのようにgrpcにhttpリクエストを送信する必要がありますか?
実例は大歓迎です。
リモートプロシージャを呼び出す唯一の方法は、生成されたgRPCクライアントを使用することです。このクライアントは、 gRPCワイヤー形式 からのprotobufメッセージのすべての非整列化を実行します。
公式ドキュメント のJavaクライアントとサーバーの実装例を参照してください。