- [spring]RestTemplate란? 목차
스프링 프레임워크에서는 REST 서비스의 Endpoint를 호출할 수 있도록 크게 2가지 방식인
동기와 비동기 REST Client를 제공합니다.
RestTemplate
- spring 3부터 지원 되었고 REST API 호출이후 응답을 받을 때까지 기다리는 동기방식입니다.
AsyncRestTemplate
- spring 4에 추가된 비동기 RestTemplate입니다.
- spring 5.0에서는 deprecated 되었습니다.
WebClient
- Spring 5에 추가된 논블럭, 리엑티브 웹 클라이언트로 동기, 비동기 방식을 지원합니다.
RestTemplate는 Spring에서 제공하는 다른 여러 Template class
ex)JdbcTemplate, RedisTemplate 와 동일한 원칙에 따라 설계되어 단산한 호출로 복잡한 작업을 쉽게 할 수 있습니다.
RestTemplate class는 Rest Service를 호출 하도록 설계되어 HTTP 프로토콜의 메서드
ex) GET, POST, DELETE, PUT 에 맞게 여러 메서드를 제공합니다
RestTemplate는 spring-webmvc 의존성만 추가하여 작업하시면 됩니다.
spring-web의존성에 포함된 클래스지만 spring-webmvc 의존성에 spring-web이 포함되어 있어 같이 의존성이 포함됩니다.
getForEntity()
- getForEntity() 메서드의 경우 응답을 ResponseEntity 객체로 받게됩니다. getForObject()와 달리 HTTP 응답에 대한 추가 정보를 담고 있어서
ex) status 200 OK 등
GET요청에 대한 응답 코드,실제 데이터를 확인할 수 있습니다.
또한 ResponseEntity<T>제네릭 타입에 따라서 응답을 String이나 Object 객체로 받을 수 있습니다. (JSON도 가능)
ex) Long으로 받기 (inesrt 작업 시 )
이런식으로 Long형을 선언하여 받았습니다.
'Spring' 카테고리의 다른 글
[spring]@SessionAttributes와 @SessionAttribute란?(장바구니, 회원가입 폼 예시) (0) | 2020.10.02 |
---|---|
[Spring]Custom Annotation(커스텀 애노테이션) (0) | 2020.09.30 |
[springSecurity]스프링 시큐리티 (0) | 2020.08.08 |
[springSecurity]스프링 시큐리티 (0) | 2020.08.08 |
@ModelAttribute와@RequestParam (0) | 2020.07.26 |