我正在for循环内调用API。我想在每次循环运行时返回响应。为此,我创建了Response对象的列表,但它开始引发Http 500错误。
因此,如果jsonArray.size()
的值为3,我想调用API 3次。每当它返回响应对象时。我想创建响应数组并将其返回给客户端。但这会引发异常。
@GET
public Response callAPI() {
Client client=ClientBuilder.newClient();
WebTarget webTarget = client.target(baseUrl);
Response response=null;
for (int i = 0; i < jsonArray.size(); i++)
{
response = webtarget.path("bots").path(/api/dynamicEntity).path(i)
.path("dynamicEntities").request().header("Authorization", "Bearer " + ConnectionUtil.getToken())
.get(Response.class);
}
return response;
}
此代码适用于文件。我实际上想返回响应数组。因此,如果我创建Response [] response并将结果存储在array中并返回它,则会引发所谓的封送异常。我想将此结果存储到response Array中并将其发送给邮递员。
答案 0 :(得分:0)
我猜你的问题是服务器端尝试在发送给客户端之前解析响应数组,但失败了,因为您无法发送Response
数组,因此http请求的响应可能只是一种,您可以做的是,在循环内装入每个请求的响应的json对象,然后将Response
对象内部的json字符串发送回客户端。