서버 호출 방식 (공통)
- 서버를 호출할 서비스 Class를 만든다.
- 원하는 기능을 호출할 메소드를 만든다.
- 해당 메소드의 반환형은 서버를 호출해서 전달받을 결과물의 형태와 같게 지정한다.
- UriComponentsBuilder Class를 통해서 호출할 서버의 URI를 생성한다.
- RestTemplate의 메소드를 호출 방식에 따라 설정하여 서버와 통신하여 결과물 받기
- 해당 결과물을 반환하기
URI 생성
※ RestTemplate의 메소드로 파라미터로 사용될 값에 URI 대신에 String으로 주소를 직접 써도 된다.
RestTemplate를 통한 서버 호출 - GET 방식
- getForObject
- GET 요청을 보내고 Java Object로 매핑받아서 반환받음
- 장점
- 각각의 필드의 대한 값을 개별적으로 볼 수 있다.
- 기본 형식
- getForObject(URI, ResponseType)
- 사용 예시
- getForEntity
- GET 요청을 보내고 ResponseEntity로 반환받음
- 장점
- HttpHeader나 HttpBody나 HttpStatus같은 정보들을 볼 수 있음
- 기본 형식
- getForEntity(URI, ResponseType)
- 사용 예시
RestTemplate를 통한 서버 호출 - POST 방식
- postForLocation
- POST 요청을 보내고 java.net.URI 로 반환받음
- 기본 형식
- postForLocation(URI, Request Object)
- 결과값 : URI
- 사용 예시
- postForObject
- POST 요청을 보내고 Java Object로 매핑받아서 반환받음
- 장점
- 각각의 필드의 대한 값을 개별적으로 볼 수 있다.
- 기본 형식
- postForObject(URI, Request Object, ResponseType)
- 사용 예시
- postForEntity
- POST 요청을 보내고 ResponseEntity로로 매핑받아서 반환받음
- 장점
- HttpHeader나 HttpBody나 HttpStatus같은 정보들을 볼 수 있음
- 기본 형식
- postForEntity(URI, Request Object, ResponseType)
- 사용 예시
RestTemplate를 통한 서버 호출 - PUT 방식
- put
- POST 요청을 보내고 java.net.URI 로 반환받음
- 기본 형식
- 사용 예시
RestTemplate를 통한 서버 호출 - DELETE 방식
- delete
- POST 요청을 보내고 java.net.URI 로 반환받음
- 기본 형식
- 사용 예시
RestTemplate를 통한 서버 호출 - HTTP Method에 상관없이 호출하기
- exchange
- POST 요청을 보내고 java.net.URI 로 반환받음
- 장점
- 기본 형식
- exchange(URI, HttpMethod, HttpEntity, responseType)
- exchange(RequestEntity, responseType)
※ RequestEntity와 ResponseEntity가 HttpEntity Class를 상속받고 있다.
- 사용 예시