Spring WebFlux는 HTTP 요청를 위해 리액티브, 논-블록킹 WebClient
를 포함하고 있다. 클라이언트는
선언적 구성declarative composition을 위한 리액티브 타입의 functional, fluent API를 가지고 있다.
WebFlux 클라이언트와 서버는 동일한 논-블록킹 codecs을 사용하여 요청request과 응답response 값을 인코딩/디코딩한다.
Note
|
Fluent API
Fluent API란 함수들을 작성하고 나면, 마치 그 문장이 영어 문장처럼 읽히는 API를 말한다. |
내부적으로 WebClient
는 HTTP 클라이언트 라이브러리에 위임(delegate)한다. 기본적으로는
Reactor Netty를 사용하고, Jetty의
reactive HttpClient가
빌드인으로 지원되며, 다른 클라이언트는 ClientHttpConnector
를 통해 연결할 수 있다.
spring-webflux
는 reactor-core
디펜던시가 있으며, WebFlux API들은 Flux
혹은 Mono
를 반환한다.