JAX-RS Web サービスで画像を返そうとしています。戻ることでこれを正常に機能させることができましたが、 for each リクエストFileInputStream
を作成することは避けたいと思います。File
私は Apache CXF と Jackson を使用しています (他のすべてのリソース メソッドは application/json を生成します)。
コードは次のようになります。
@GET
@Produces("image/png")
public Response getQrCode(@QueryParam("qrtext") String qrtext) {
ByteArrayOutputStream out = QRCode.from(qrtext).to(ImageType.PNG).stream();
return Response.ok(out).build();
}
残念ながら、これは恐ろしいものを生み出します:
org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor:376 - 応答クラス ByteArrayOutputStream のメッセージ本文ライターが見つかりませんでした。
これは同様の投稿へのリンクですが、私が遭遇している「メッセージ本文ライターがありません」という問題については言及されていません。
この問題に対処する方法についてのアイデアをいただければ幸いです。ありがとう!