如何从 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
谢谢!
我有我的网络服务代码:
@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 谢谢!