Mono와 Flux 객체 다루기!

문진영·2022년 9월 13일
0

파이널 프로젝트

목록 보기
6/9

WebClient를 사용하다 Mono와 Flux라는 것을 접하게 되었습니다.

WebFlux란?

  • Spring 5에 추가된 Reactive-stack의 웹 프레임워크
  • 클라이언트와 서버에서 리액티브 애플리케이션 개발을 위한 논블로킹 리액티브 스트림을 지원

Mono와 Flux

  • Spring WebFlux 에서 사용하는 reactive library가 Reactor이고 Reactor의 주요 객체가 Mono와 Flux이다.
  • Mono : 0 ~ 1 개의 데이터 처리
  • Flux : 0 ~ N 개의 데이터 처리

Mono와 Flux 다루기

프로젝트에 사용되었던 WebClient의 예로 들어 보겠습니다.

1.그림과 같이 ChatDTO 타입으로 리턴 받는 Mono 객체가 있습니다.
2.이떄 ChatDTO에서 설정된 user 객체를 @Getter 적용을 했는데도 Get하는데 오류가 납니다.
3.그 이유는 Mono가 담고있는 갹체를 일반적인 get으로는 꺼낼수가 없습니다.
4.꺼내기위해선 .block()함수를 사용하면 해결됩니다.


그림과 같이 객체를 꺼내서 원하는 대로 다룰수 있게 됩니다!

profile
개발 하는 게 좋은 사람입니다.

0개의 댓글