반응형

spring mvc 기반 spring-web의 restTemplate으로 api를 요청하고 있던 와중, restTemplate가 deprecated 된다는 말을 듣고, 대체제인 webClient를 사용해보려고 공부를 하다 보니 webflux의 영역에 들어와 버렸다. 물론 webClient도 sync call을 지원하지만 수많은 api 콜을 비동기로 하면 자연스레 내 api의 속도도 빨라질 것이 아닌가? 위기를 기회로 전환하며 새로운 아키텍처를 익히려고 spring-webflux를 추가하였다.

그런데 spring reactive강의를 듣던 도중, 두 dependency는 spring context의 혼란을 야기하므로 같이 사용하면 안 된다는 말을 들었다. 오래된 강의긴 했지만 나름 스프링 저명인사가 말한 것이기에 안되리라 생각하고 좌절하며 관련 내용을 더 찾아보기로 했다.

 

1. spring mvc vs spring webflux

https://docs.spring.io/spring-boot/docs/current/reference/html/features.html#web

spring mvc가 있으면 mvc가 우선순위가 높고 webflux만 있으면 webflux를 쓴다고 한다. 즉, 둘 다 있으면 mvc가 우선 순위다.

근데 애초에 같이 있어도 된다는 전제를 한다면 같이 써도 된다는 것 아닌가?!

 

2. spring mvc with webclient

https://docs.spring.io/spring-framework/docs/current/reference/html/web-reactive.html

스프링 공식문서에 spring mvc + webclient형식으로 같이 써도 된다는 글이 있다.. 하하하하하 살았다.

 

그리고 스프링에서 같이 쓰는 동영상을 올린 적이 있다(물론 주내용은 springboot2에 대한 데모지만)

26분부터~ restTemplate -> webClient 바꾸는 내용 하면서 언급함.

 

spring mvc에 webClient를 써야 하는가에 대한 많은 토론

https://stackoverflow.com/questions/51953826/resttemplate-vs-webclient-benefits-in-servlet-based-web-mvc-app

 

RestTemplate vs WebClient benefits in Servlet based web-mvc app

I'm looking for a clarification on the bolded text in the statement below (I've provided the full paragraph for context only): The RestTemplate is not a good fit for use in non-blocking applicat...

stackoverflow.com

 

728x90
반응형

'개발 > reactive' 카테고리의 다른 글

[webflux] block vs toFuture  (0) 2022.03.31
[webflux] 실무투입고민  (0) 2022.03.30
[reactive] 10. Flux  (0) 2022.03.25
[reactive] 9. Mono  (0) 2022.03.23
[reactive] 8. webflux  (0) 2022.03.22

+ Recent posts