Spring

WebClient

3분 입문자 2022. 12. 20.

- 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

댓글