我正在使用Jersey客戶端來執行請求。這是一個例子。如何使用Jersey 2.26客戶端使用queryParam執行HTTP POST請求?
https://myschool.com/webapi/rest/student/submitJob?student={student:[{"id":1,"name":"Tom","age":20},{"id":2,"name":"Bob","age":20}]}&score={score:[{"id":1,"math":90,"art":80,"science":70},{"id":2,"math":70,"art":60,"science":80}]}
而他們的迴應是這樣的: { 「的jobId」: 「123456789」, 「jobStatus」: 「JobSubmitted」}
這是我當前的代碼:
String student = {student:[{"id":1,"name":"Tom","age":20},{"id":2,"name":"Bob","age":20}]};
String score = {score:[{"id":1,"math":90,"art":80,"science":70},{"id":2,"math":70,"art":60,"science":80}]}
String responseResult = client.target("https://myschool.com/webapi/rest/student/").path("submitJob")
.queryParam("student", student).queryParam("score", score).request("application/json").get(String.class);
問題是真正的請求URI太長,我得到了414錯誤。所以我需要使用POST而不是GET方法。但我使用queryParam發送請求,但不是Body。誰能告訴我該怎麼做?謝謝。
當我試過你的代碼時,在最後一行代碼中出現了「資源(url)」錯誤。也許我有誤解,你能解釋一下嗎? @MohammedAbdullah – ZLi
請立即檢查。 –
錯誤消息:「方法資源()未定義類型客戶端」。 @MohammedAbdullah – ZLi