私は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エラーが発生したことです。だから私はGETメソッドの代わりにPOSTを使う必要があります。しかし、私はqueryParamを使用して要求を送信しますが、Bodyは送信しません。それをどうやって誰に教えてもらえますか?ありがとう。
コードを試したところ、最後のコード行に「resource(url)」というエラーがありました。たぶん私は誤解を持っていたかもしれません、あなたはそれを説明してください? @MohammedAbdullah – ZLi
今すぐご確認ください。 –
エラーメッセージ:「メソッドのリソース()は、タイプ「クライアント」に対して未定義です。 @MohammedAbdullah – ZLi