본문 바로가기

Mono

(3)
[Reactive Programming] Flux Spring WebFlux Series - 17 이전 장(링크) 에서는 Mono의 동작방식과 block()에 대해서 간략하게 알아보았다. 이번 장에서는 Flux 에 대해서 자세하게 알아본다. 모든 코드는 깃 허브 (링크) 의 테스트 코드에 있으므로 필요하다면 참고하도록 한다. Flux 스프링 Reactive의 기본 인터페이스는 Mono가 아닌 Flux다. 지난 시간에는 간단하게 String 타입을 반환하는 방밥에 대해서만 알아보았다. 이번 시간에는 조금 복잡한 Object 타입을 반환하는 시간을 가져본다. @Slf4j @RestController public class FluxController { @GetMapping("/event/v1/{id}") private Mono fluxVersion1(@Pa..
[Reactive Programming] Mono Spring WebFlux Series - 16 이전 장(링크) 에서는 WebFlux에 대해서 간략하게 알아보았다. 이번 장에서는 이전 장에서 사용했던 Mono의 동작방식과 block() 에 대해서 자세하게 알아본다. 모든 코드는 깃 허브 (링크) 의 테스트 코드에 있으므로 필요하다면 참고하도록 한다. static factory method Mono 기본 사용법 Mono의 사용법을 알아보기 위해 간단한 컨트롤러를 작성해본다. 완성되어 있는 Hello WebFlux라는 문구를 반환하기 위해 Static Factory Method인 just를 사용하였다. @RestController public class MyController { @GetMapping("/") public Mono hello() { ret..
[Reactive Programming] WebFlux Spring WebFlux Series - 15 이전 장(링크) 에서는 Completable Future에 대해서 알아보았다. 이번 장에서는 드디어 WebFlux에 대해서 알아본다. 모든 코드는 깃 허브 (링크) 의 테스트 코드에 있으므로 필요하다면 참고하도록 한다. 개요 기존에 작성한 코드를 살펴보면 비동기로 API를 호출하는 AsyncRestTemplate이 Spring의 버전이 올라가면서 Deprecated처리 된 것을 확인할 수 있다. 기능은 정상적으로 작동하지만 스프링 5.*에서 지원하는 Reactive 스타일이 아니다. 기본적으로 ListenableFuture를 반환하며 따로 callback 메서드를 지정해주어야 하기 때문이다. 또한 AsyncRestTemplate를 대체하는 WebClient..