如何从 returns 一个字节 [] 的 Web 服务读取响应

How to read a response from a web service that returns a byte[]

我有我的网络服务代码:

    @GET
    @Produces(MediaType.APPLICATION_JSON)
    public static Response fillData(final Map<String, Object> data, final   String name, @Context final ServletContext context) {  
       ...  
       final byte[] file = ...
       return Response.ok(file).build();

如何在客户端读取响应?

final javax.ws.rs.core.Response reponse = client.target(URL_REST).path("/path").request(MediaType.APPLICATION_JSON).get();

这是完全错误的(ByteArray 不存在),但我想做类似的事情:

byte[] pdfByteArray = reponse.readEntity(ByteArray.class);

我该怎么办?

使用java.io.InputStream

InputStream is = reponse.readEntity(InputStream.class);

这允许您以流方式读取而不是一次读取所有字节。

就像上面建议的 Gabor,我将只使用 byte[]。class 谢谢!