2012-08-30 2 views
7

나는 휴식 API URL을 가지고 (위해 RESTClient-UI-2.4-항아리-와 의존성) 나머지 클라이언트를 통해 몸 (사용자 이름, 암호, 다른 매개 변수)와 같은 POST로 요청을 제출하고 그것은 어떤 문제없이 잘 작동있어 .본문 매개 변수가있는 RestTemplate Post Request에 대한 도움이 필요하십니까?

예 :

URL : https://test.com/cgi-bin/testing/api 바디 :

(내가 봄 RestTemplate postForObject을 사용할 때 잘 작동하지 않는 같은 URL을 사용자 이름 = testuser를 & 암호 = pass123 & ID = 13002 & 이름 = 라주, varmap, Employee.class) 메소드를 호출한다.

사람이 요청이 몸 매개 변수와 함께하는 URL과 응답이 클래스와 매핑되는 XML을하는 간단한 예제를 도와 줄 수 있습니까?

샘플 코드 : 사전에

MultiValueMap<String, String> map = new LinkedMultiValueMap<String, String>(); 
    map.add("username", "test"); 
    map.add("password", "test123"); 
    map.add("id", "1234"); 
    MarshallingHttpMessageConverter mc = new MarshallingHttpMessageConverter(); 
    mc.setMarshaller(new Jaxb2Marshaller()); 
    mc.setUnmarshaller(new Jaxb2Marshaller()); 
    list.add(marshallingHttpMessageConverter); 
    emediateRestTemplate.setMessageConverters(list); 
    Employee employee = (Employee) restTemplate.postForObject(url, map, Employee.class); 

감사합니다, 캐서

+0

작동하지 않는 코드를 표시 할 수 있습니까? –

+0

restTemplate.postForObject (url, parametersMap, Employee.class); . 또한 postForObject와 postForExchange의 차이점을 알려주시겠습니까? – Kathir

+0

질문을 코드로 업데이트하고 주석에 추가하지 않아야합니다. 또한 한 줄 이상의 코드를 표시하고 관련 설정도 함께 표시하십시오. 마지막으로 Spring의 사이트에는 각 메소드가 수행하는 것에 대한 풍부한 문서가 있습니다. 아마 당신은 그걸 먼저보고 싶을 것입니다. –

답변

13

예는 위의 컨버터 : "MarshallingHttpMessageConverter"가 필요하지 않습니다가. 게시물에 대한

MultiValueMap<String, String> parametersMap = new LinkedMultiValueMap<String, String>(); 
parametersMap.add("username", "test"); 
parametersMap.add("password", "test123"); 
parametersMap.add("id", "1234"); 

:

restTemplate.postForObject(url, parametersMap, Employee.class); 

URL은 다음과 같습니다 문자열 - 나머지 API를 URL parametersMap - MultiValueMap 직원 - 객체 가져 오기 위해 JSON 응답

변환 할 필요가있다 :

restTemplate.getForObject(url, class object, variablesMap); 

URL은 다음과 같습니다 문자열 - 나머지 AP i URL variablesMap -지도 클래스 개체 - JSON 응답에서 변환해야하는 개체

+0

요청의 응답을받는 방법은 무엇입니까? – gstackoverflow

관련 문제