如何获得HTTP请求获取请求的主体?javax.ws.rs库?如何正确获取WebTarget获取请求响应(JAX-RS)的正文?
我想:
Response response = service.path(path).request().get();
String body = response.readEntity(String.class);
,但不起作用。相反,我得到这个异常:java.lang.NoClassDefFoundError: javax/ws/rs/core/NoContentException
然后我想:
Response response = service.path(path).request(MediaType.APPLICATION_JSON_TYPE).get();
String body = response.readEntity(JSONObject.class);
,因为我实际上应该得到一个JSON字符串返回,但我并不需要它作为JSON对象,这就是之所以我尝试过像以前一样。
但是,这并不在所有的工作,我甚至无法编译,并获得(的IntelliJ)消息 no instance(s) of type variable(s) exist so that JSONObject conforms to String inference variable T has incompatible bounds: equality constraints: JSONObject upper bounds: Object, String
增加:
我得到200响应状态,所以一切工作得很好,当我做同样的例如邮递员或提琴手它的作品。
我不想为了那个而使用另一个库,而getBody()方法甚至不存在。 –
是的,它不存在,它是改造库的功能。 你可以尝试Response.readEntity(InputStream.class)来获得body inputstream。 要转换为字符串我没有其他的解决方案,没有使用外部库,杰克逊是真棒,如此有用做这样的事情相关的JSON。 –