問題タブ [responsestream]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
995 参照

java - テンプレートの読み取り応答をストリームとして受け取り、スプリング コントローラーに渡します (残りのテンプレートで InputStream を取得します)。

大きなサイズの zip ファイルをダウンロードする URL があります。応答をストリームとして返します。最初はファイル サイズが大きいですが、200(HTTPSTATUK.OK) を返し、ダウンロードを続行します。

残りのテンプレートを介して上記の URL を呼び出す新しいスプリング コントローラーを実装する必要があります。残りのテンプレートによって返された応答を読み取り、コントローラーに渡す必要があります。

私は ResponseEntity<byte[]> を使用しているため、残りのテンプレートはファイル全体がメモリにロードされるまで待機します。非常に頻繁にソケット タイムアウトの問題が発生します。

応答をストリームとして読み取り、コントローラーに返す方法はありますか。

restTemplate.execute についていくつか見つけました。

上記のスニペットは、タイムアウトなしでファイルをローカルにコピーできますが、これは私が必要とするものではありません。

clientHttpResponse のストリームを controller にパイプするにはどうすればよいでしょうか?