Spring Web Flux : @MVC
스프링캠프 2017 에서 Toby 님이 발표한 Spring Web Flux 의 다음 내용을 정리한다.
- annotation 방식의 @MVC 와 유사한 WebFlux 개발 방법
@MVC WebFlux : 01
annotation 방식의 @MVC 방식과 유사하면서
비동기 + 논블러킹 리액티브 스타일의 코드 작성이 가능하다.
1 |
|
- 요청 정보가 미리 바인딩되지 않아, ServerRequest.pathVariable() 로 가져온다.
- 응답은, Mono 에 감싸진 ServerResponse 를 응답한다.
- 상태 코드와 바디를 명시적으로 선언한다.
@MVC WebFlux : 02
위 코드는, 더 이전 스타일로 표현 가능하다.
가장 대표적인 @MVC WebFlux 작성 방식이다.
1 |
|
- 파라미터 바인딩을 MVC 방식 그대로 한다.
- 그리고, 핸들러 로직의 결과를 Mono/Flux 타입으로 리턴한다.
웹 요청의 바디를 받으려면,
1 |
|
- MVC 방식과 동일하게, 웹 요청의 바디를 MessageConverter 에서 바인딩한다.