2016-08-24 5 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

또한 잘못 입력 실수를 방지하기 위해 더 구조화 된 방법으로 요청을 보내도록 제안
관련 문제