【问题标题】:Creating response object Jersey jax-rs创建响应对象 Jersey jax-rs
【发布时间】:2020-12-07 02:16:18
【问题描述】:

我在 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 并将结果存储在数组中并返回它,它会抛出一个称为 marshal 异常的东西。我想将它的输出存储到响应数组中并将其发送给邮递员。

【问题讨论】:

    标签: java json jersey jax-rs


    【解决方案1】:

    我猜你的问题是服务器端试图在发送到客户端之前解析响应数组,但失败了,因为你不能发送Response的数组,http请求的响应可能只是一个,您可以做的是,在循环内挂载一个带有每个请求响应的 json 对象,然后将 Response 对象内的 json 字符串发送回客户端。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-24
      • 2016-12-02
      • 1970-01-01
      相关资源
      最近更新 更多