如何解析javax.ws.rs.core.Response

时间:2014-12-10 03:57:18

标签: java java-ee dom jax-rs

我无法理解如何解析javax.ws.rs.core.Response。有些人指出使用InputStream,但我不理解它是如何工作的,因为response.getEntity()的返回类型是Object类型。例如:

Response response = client.target(enpoint).request(MediaType.APPLICATION_XML).get();
InputStream is = response.getEntity();

NetBeans抱怨并说我需要将Object类型转换为InputStream。响应将由XML组成,我只是希望能够使用DOM解析它。我无法从javax.ws.rs.core.Response到任何有用的东西。

有什么想法吗?

3 个答案:

答案 0 :(得分:6)

对于JAX-RS 2.x客户端API,请使用Response.readEntity(InputStream.class)。或者,您是否需要Response对象中的任何特定信息,您可以轻松完成

InputStream is = client.target(enpoint).request(
                            MediaType.APPLICATION_XML).get(InputStream.class);

答案 1 :(得分:1)

也有效:

MyResponse myResponse = response.readEntity(MyResponse.class);

答案 2 :(得分:0)

InputStream responseBody =(InputStream)response.getEntity();