如何獲得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。 –