2012-05-23 4 views
1

현재 Rest-Service를 호출해야하는 Rest-Service를 동일한 서버에 제공하고 있습니다. 예를 들어 path/myPath/foo의 메서드는 path/myPath/restApi/bar의 메서드에서 무언가를 요청해야합니다.Spring RestTemplate rest 서비스 내에서의 호출 ForForceObject

전체 경로를 사용하지 않고 Spring RestTemplate 또는 다른 방법으로 어떻게 수행 할 수 있습니까? RestTemplate.postForObject (...) 메소드 (이슈 작성시 이슈의 URL 및 포트를 알 수 없으므로 전체 경로를 사용할 수 없음)

도움 주셔서 감사합니다. 감사합니다. Andy

답변

1

우선 두 번째 URL 뒤에 서비스 메서드를 직접 호출하는 대신 URL을 사용하여 동일한 서버 (동일한 응용 프로그램 인 것처럼 보입니다)에서 REST 메서드에 액세스하는 이유는 무엇입니까? 이것이 동일한 서블릿 컨테이너이지만 벌금보다 여러 WAR 파일 인 경우.

질문으로 돌아 가기 : do에는 호스트와 포트가 있습니다. 클라이언트가 /myPath/foo에 액세스하려고 시도하면 서버가 /myPath/restApi/bar에 액세스해야한다고 말합니다. 컨트롤러/액션/핸들러 메소드/REST 프레임 워크가 제공하는 것이면 무엇이든간에 HttpServletRequest을 얻을 수 있습니다. 요청 객체가 있으면 클라이언트가 첫 번째 웹 서비스에 연결하는 데 사용한 호스트와 포트를 찾을 수 있습니다. 이 정보를 사용하여 동일한 서버에서 두 번째 웹 서비스를 호출 할 수 있습니다.

두 번째 생각 :이 서버가 동일한 경우 localhost을 사용할 수 없습니까?

+0

감사합니다. 실제로 저는 HttpServletRequest를 가져 와서 그런 식으로 처리 할 수있었습니다. – andy

관련 문제