- WebClient
RestTemplate를 대체하는 Http클라이언트이다.
(현재 RestTemplate 보다는 webClient를 권장함)
기존의 동기 API를 제공할 뿐만 아니라 , 논블로킹 및 비동기 접근 방식을 원해서 효율적인 통신 가능
WebClient는 요청을 나타내고 전송하게 해주는 빌더 방식의 인터페이스를 사용
- 싱글 스레드 방식
- Non-Blocking방식(Application이 요청을 하고 바로 제어권을 받음 , 다른 로직이 실행 됨)
- JSON,XML을 쉽게 응답 받음
private static WebClient webClient = WebClient.create();
final String uri = UriComponentsBuilder.fromUriString("주소")
.path("경로")
.queryParam("key","value")
.build()
.encode()
.toUriString();
webClient
.get()
.uri(uri)
.header("key", "value") //헤더가 필요할때
.retrieve()
.bodyToMono(JSONObject.class) //받으려고하는 타입 지정
.block();
webClient.post()
.uri(uri)
.contentType(MediaType.APPLICATION_JSON) //콘텐트 타입 지정
.body(BodyInserters.fromFormData(formData)) //post이므로 body에 담음
.retrieve()
.bodyToMono(String.class)
.block();
'Spring' 카테고리의 다른 글
| AOP , DI , IOC (0) | 2022.12.20 |
|---|---|
| QUERYDSL 이란 (0) | 2022.12.20 |
| annotation (0) | 2022.12.20 |
| Singleton (0) | 2022.12.20 |
| 객체 지향 설계의 5가지 원칙 (0) | 2022.12.19 |
댓글