gpt4 book ai didi

java - 如何在 Response 上调用 readEntity 两次?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:04:41 25 4
gpt4 key购买 nike

我现在正在做的是:

java.io.IOException: stream is closed

在第二次 readEntity() 上,因为它会在第一次读取后关闭流。

这是我正在做的:

Response response = target.queryParam("start", startIndex)
.queryParam("end", end)
.request()
.accept(MediaType.APPLICATION_XML)
.header(authorizationHeaderName, authorizationHeaderValue)
.get();

String xml = response.readEntity(String.class);
ourLogger.debug(xml);


MyClass message = response.readEntity(MyClass.class); //throws IOException

最佳答案

/你可以使用Response#bufferEntity() ,这将允许您多次读取实体流。

Response response = ...
response.bufferEntity();
String s = response.readEntity(String.class);
MyEntity me = response.readEntity(MyEntity.class);
response.close();

更新

在您使用 readEntity() 读取实体后,读取的结果会被缓存,并可通过调用 getEntity() 获得。此信息并没有真正回答 OP 的问题,但我认为添加这些信息很有用。

关于java - 如何在 Response 上调用 readEntity 两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47679256/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com