如何从返回byte []的Web服务中读取响应

时间:2015-02-11 11:20:56

标签: java rest byte bytearray

我已经获得了我的网络服务代码:

    @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);

我该怎么办?

2 个答案:

答案 0 :(得分:10)

使用java.io.InputStream

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

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

答案 1 :(得分:-1)

与上面提到的Gabor一样,我只使用byte [] .class 谢谢!