Githubのgrpc-gatewayプロジェクトを使用してgRPC仕様からREST APIを自動生成しています。このREST APIでは、ETag
のヘッダーと304のNot Modifiedレスポンスをサポートしたいと考えています。GRAPC RESTゲートウェイでETagと304未修正応答
私が理解する限り、通常、特定のステータスコードでgRPCサーバーに応答を作成し、そのステータスコードはgrpc-gatewayによってHTTPステータスコードに変換されます。しかし、標準のgRPCは実際にキャッシュ概念をサポートしていないので、HTTP 304ステータスコードに対応するgRPCステータスコードはありません。
grpc-gatewayを使用すると、gRPCステータスコードがenエラーコード(runtime.HTTPError関数を上書き)するたびに、HTTPステータスコードをカスタマイズすることができるようです。しかし、gRPCのrepsonseコードがOKの場合、HTTP応答コードをカスタマイズする方法はありませんでした。
これを達成するための推奨方法はありますか?
これにも興味があります。ここに私はgithubリポジトリを見て見つけたいくつかの関連する問題があります:https://github.com/grpc-ecosystem/grpc-gateway/issues/240&https://github.com/grpc-ecosystem/grpc-gateway/issues/517 – thurt
関連するGoogleグループのディスカッション:https://groups.google.com/forum/#!topic/grpc-io/1TJspS7QRwUお見積もり 「この[キャッシング]は、私たちが紹介したいことではないgrpcの中核である。それはあなたがあなたのメッセージに実装するものであるという意味で、実際に読者に運動として残されています。 rpcの種類によっては、その機能が適切であるとは限りません。そのため、すべての人がクリティカルパスで費用を支払わないようにしましょう。一方、認証はチャネル自体にあり、コードの存在は認証されていないチャネルには影響しません。 ' – thurt