当前位置: 首页 > 面试题库 >

从发布请求中读取JAX-RS客户端中的响应正文

欧阳衡
2023-03-14
问题内容

在移动应用程序和Web服务之间具有某种代理,发出发布请求时的响应使我们感到困惑。我们收到状态为200的回复:OK。但是我们找不到/提取JSON响应主体。

    Client client = ClientBuilder.newClient();
    WebTarget webTarget = client.target(WEBSERVICE_BASE_LOCATION + "mobileDevices?operatorCode=KPNSCP");
    String jsonString = "{\"osVersion\":\"4.1\",\"apiLevel\":16,\"devicePlatform\":\"ANDROID\"}";
    Builder builder = webTarget.request();
    Response response = builder.post(Entity.json(jsonString));

我们正在使用JAX-RS。有人可以提供一些提示来String服务器响应中提取JSON正文()吗?


问题答案:

试试这个:

String output = response.getEntity(String.class);

编辑

感谢@Martin Spamer提及它仅适用于Jersey 1.x罐子。适用于Jersey 2.x

String output = response.readEntity(String.class);


 类似资料:
  • 在移动应用程序和Web服务之间有某种代理,我们在发出发布请求时对响应感到困惑。我们收到状态为200: OK的响应。但是我们找不到/提取JSON响应正文。 我们正在使用JAX-RS。有人能提供一些提示,从服务器响应中提取JSON主体(

  • 我通过一个spring上下文注入了一个JAX RS客户端,如下所示: 在成功响应(200、202、204)的情况下,如何访问响应状态?

  • 我使用这个代码来调用泽西客户端的泽西JAX-RS服务。 当响应状态代码为 200 时,此代码工作正常。但对于 200 以外的任何内容,此代码会引发异常。 如何修改此代码,以便根据响应的状态代码执行某些操作?

  • 我正在使用泽西JAX-RS客户端(版本2.0)。我知道它使用Jackson ObjectMapper来生成和解析JSON。我想使用相同的对象为一些java类生成JSON,这样我就可以将它们写入日志。 我知道我可以创建一个新的ObjectMapper实例,但我更喜欢请求泽西客户端给我一个它正在使用的引用。我该怎么做呢?泽西2.0知道Jackson,因为它包含一个JacksonFeature类,该类首

  • 问题内容: 我编写了简单的REST Web服务客户端类,该类使用JAX-RS 2.0客户端API发出REST请求。我试图弄清楚如何为每个调用设置请求超时。这是请求的代码: 问题答案: 为此,您可以先创建一个ClientConfig,然后在创建新客户端时将其作为参数提供。

  • 当我试图从http客户端响应对象读取正文时,会出现以下错误。我并不总是得到异常,所以我想这是一个与完整未来相关的线程问题。你知道我做错了什么吗?我使用Vert.x3.8.1 引发异常的代码: http客户端响应对象由以下代码创建: 尸体被找回...