RestTeamplate은 스프링 3부터 지원하는 HTTP 요청을 수행하기 위한 동기식 클라이언트다.
필드(Field)
- logger
생성자(Constructor)
- RestTemplate()
기본 세팅으로 RestTemplate 인스턴스를 만든다.
- RestTemplate(ClientHttpRequestFactory requestFactroy)
ClientHttpRequestFactory에 기반해서 인스턴스를 만든다.
- RestTemplate(List<HttpMessageConverter<?>> messageConverters)
주어진 HttpMessageConverter 리스트를 사용해 인스턴스를 만든다.
메서드(Method)
getForObject
- <T> T getForObject(String url, Class<T> responseType, Map<String, ?> uriVariables)
- <T> T getForObject(String url, Class<T> responseType, Object... uriVariables)
- <T> T getForObject(String url, Class<T> responseType)
주어진 url 주소로 HTTP GET 요청을 보내서 객체로 결과를 반환받는다. 두번째 파라미터인 responseType을 통해서 결과로 받을 객체 타입을 정한다.
getForEntity
- <T> ResponseEntity<T> getForEntity(String url, Class<T> responseType, Map<String, ?> uriVariables)
- <T> ResponseEntity<T> getForEntity(String url, Class<T> responseType, Object... uriVariables)
- <T> ResponseEntity<T> getForEntity(String url, Class<T> responseType)
getForObject와 내용은 비슷하지만 결과를 ResponseEntity로 반환받는다.
postForObject
- <T> T postForObject(String url, Object request, Class<T> responseType, Map<String, ?> uriVariables)
- <T> T postForObject(String url, Object request, Class<T> responseType, Object... uriVariables)
- <T> T postForObject(String url, Object request, Class<T> responseType)
주어진 url 주소로 HTTP POST 요청을 보내서 객체로 결과를 받는다. POST 요청이기 때문에 request라는 파라미터가 추가됐다.
postForEntity
- <T> ResponseEntity<T> postForEntity(String url, Object request, Class<T> responseType, Map<String, ?> uriVariables)
- <T> ResponseEntity<T> postForEntity(String url, Object request, Class<T> responseType, Object... uriVariables)
- <T> ResponseEntity<T> postForEntity(String url, Object request, Class<T> responseType)
postForObject와 비슷한 요청을 수행하고, 결과를 ResponseEntity로 반환받는다.
postForLocation
- URI postForLocation(String url, Object request, Map<String, ?> uriVariables)
- URI postForLocation(String url, Object request, Object... uriVariables)
- URI postForLocation(URL url, Object request)
지정된 객체를 url에 POST요청을 수행해서 새 리소스를 생성하고 위치 헤더 값을 반환받는다.
delete
- void delete(String url, Map<String, ?> uriVariables)
- void delete(String url, Object... uriVariables)
- void delete(URI url)
특정 uri 주소로 HTTP DELETE 메서드를 실행한다.
put
- void put (String url, Object request, Map<String, ?> uriVariables)
- void put (String url, Object request, Object... uriVariables)
- void put (URL url, Object request)
지정된 객체를 url에 PUT하여 리소스를 생성하거나 업데이트한다.
patchForObject
- <T> T patchForObject(String url, Object request, Class<T> responseType, Map<String, ?> uriVariables)
- <T> T patchForObject(String url, Object request, Class<T> responseType, Object... uriVariables)
- <T> T patchForObject(String url, Object request, Class<T> responseType)
객체를 url에 PATCH해서 리소스를 업데이트하고 응답에 있는 표현(representation)을 반환합니다.
headForHeaders
- HttpHeaders headForHeaders(String url, Map<String, ?> uriVariables)
- HttpHeaders headForHeaders(String url, Object... uriVariables)
- HttpHeaders headForHeaders(URI url)
URI 템플릿에서 지정한 리소스의 헤더를 모두 검색합니다.
- <T> ResponseExtractor<ResponseEntity<T>> responseEntityExtractor(Type responseType)
- void setDefaultUriVariables(Map<String, ?> uriVariables)
- void setErrorHandler(ResponseErrorHandler errorHandler)
- void getErrorHandler()
- void setMessageConverters(List<HttpMessageConverter<?>> messageConverters)
- void setUriTemplateHandler(UriTemplateHandler handler)
'Spring' 카테고리의 다른 글
Spring - @Component와 @Service, @Controller의 차이 (0) | 2022.05.12 |
---|---|
Spring - @Autowired를 권장하지 않는 이유 (0) | 2022.05.12 |
@RequestParam와 @PathVariable은 무엇이 다른가? (0) | 2021.11.05 |
Spring - AOP (0) | 2021.09.28 |
Spring - 빈 등록 (0) | 2021.09.27 |