2014-11-12 2 views
0

내가 원하는 것은 기본적으로 내 스프링 컨트롤러 중 하나의 HTTP 요청을 다른 서버에서 실행중인 다른 웹 응용 프로그램 내부의 다른 컨트롤러로 전달하고 응답을 되돌려받는 것입니다.Java Spring : HTTP 요청을 다른 webapp에 전달하고 응답을 되 찾으겠습니까?

이렇게해야하는 컨트롤러의 예입니다. 나는이 작업을 수행 할 수

@RequestMapping(value = "/test", method = RequestMethod.POST) 
public String test(HttpServletRequest httpServletRequest) { 
    String result=""; 
    //pass httpServletRequest to another webapp and set the response to result 
    return result; 

} 

한 가지 방법은 요청 헤더를 읽어, 신체 등을 요청하고 HTTP 구성 요소 같은 것을 사용하여 해당 서버에 다른 HTTP POST 요청을 할 수 있습니다.

그러나이 작업을 수행하는 훨씬 간단한 방법이 있는지 궁금합니다 (예 : httpServletRequest 객체 전체를 다른 webapp로 전달).

감사합니다.

+0

rest-api 호출을 사용하여 다른 웹 앱과 통신 할 수 있습니다. – ManojP

답변

0

원하는 작업에 따라 다릅니다. 당신이 다른 컨트롤러/응용 프로그램에 대한 사용자보기를 리디렉션해야 할 경우 당신은 단순히

result = "redirect:" + yourredirecturl; 

또는 반환 된 HTML이나 JSON 작업 할 경우 ...

당신이 사용할 수있는 봄 restTemplate

을 반환 할 수 있습니다
class ... { 
private RestTemplate restTemplate = new RestTemplate(); 

String getUrl(Url url) 
return restTemplate.getForObject(URI url, String.class) ; 

}