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

2022-08-31 11:06:11

在移动应用程序和Web服务之间有某种代理,我们对发出发布请求时的响应感到困惑。我们收到状态为 200 的响应:正常。但是我们无法找到/提取 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。有人可以提供一些提示来从服务器响应中提取JSON正文()吗?String


答案 1

试试这个:

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

编辑

感谢@Martin Spamer提到它仅适用于泽西岛1.x罐子。对于泽西岛 2.x 使用

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

答案 2

我刚刚找到了jaxrs-ri-2.16的解决方案 - 只需使用

String output = response.readEntity(String.class)

这将按预期提供内容。