2016-08-24 6 views
0

私は次のようなポストマンPOSTリクエストを持っている:JerseyのWebResourceをPOST用に使用するときにフォームデータを送信する方法は?

enter image description here

私はニュージャージーのWebResourceを使用してコードに上記マップするために使用しているコードは次のようであるが、それは働いていない:

Client authKeyClient = Client.create(); 
WebResource webResource = authKeyClient.resource("https://ims-na1-stg1.company.com/token/v1"); 
String input = "{\"grant_type\":\"authorization_code\",\"client_id\":\"orders\",\"client_secret\":\"0af3b233-f1ca-41da-a0fa-61c08d15cadc\",\"code\":\"eyJhbGciOiJSUzI1NiIsIng1dSI6Imltc19uYTEtc\"}"; 
currentEnv.getImsSecret()).header("code", currentEnv.imsCode).get(String.class); 
String response = webResource.post(String.class, input); 

私は400 Bad Requestを得ることになります。私は間違って何をしていますか?

答えて

0

Content-Typeを追加してください。

MultivaluedMap formData = new MultivaluedMapImpl(); 
formData.add("name1", "val1"); 
formData.add("name2", "val2"); 
ClientResponse response = webResource 
    .type(MediaType.APPLICATION_FORM_URLENCODED_TYPE) 
    .post(ClientResponse.class, formData); 

同様の議論:Using the Jersey client to do a POST operation

私もミスタイプミスを避けるために、より構造化された方法でリクエストを送信することをお勧め
関連する問題