web-dev-qa-db-ja.com

cURLコマンドまたはインターネットブラウザからHTTP / 1.1を介してgRPCサーバーを呼び出す方法

以下に新しいコードを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リクエストを送信する必要がありますか?

実例は大歓迎です。

3

リモートプロシージャを呼び出す唯一の方法は、生成されたgRPCクライアントを使用することです。このクライアントは、 gRPCワイヤー形式 からのprotobufメッセージのすべての非整列化を実行します。

公式ドキュメント のJavaクライアントとサーバーの実装例を参照してください。

1
Anar Sultanov