私のアプリケーションは、spring mvc、spring data jpa hibernateでSpringブート(1.3.3.RELEASE)を使用して構築されています。 MySqlはデータベースで、JacksonはJsonシリアライザです。 Java 8についてストリームSpring MVCでJSON出力
私のコントローラメソッドで膨大なデータセットを返したいと思います。代わりに、すべてのデータを取得し、その後、ジャクソン・シリアライザに渡すので、私は以下のようなオブジェクトのストリームを返すようにしたい:
@RequestMapping(value = "/candidates/all", method = RequestMethod.GET)
public Stream<Candidate> getAllCandidates(){
try {
return candidateDao.findAllByCustomQueryAndStream();
} catch(Exception e){
LOG.error("Exception in getCandidates",e);
}
return null;
}
私のDAOは以下のようなものです:
@Query("select c from Candidate c")
public Stream<Candidate> findAllByCustomQueryAndStream();
しかし、ジャクソンはシリアル化されストリームの内容ではなく、ストリームオブジェクト。実際の出力は次のとおりです。
{"parallel" : false}
ストリームオブジェクトではなくコンテンツをシリアル化するようにJacksonに指示するにはどうすればよいですか?
などのオプションのためのJdk8Moduleなどの他のモジュールで追加したその提案コードですべての問題を発見していませんでした:どのようにあなたは 'ことを読んでくださいストリーム '' RestTemplate'を使用していますか? –
Paizo