728x90 반응형 SMALL webflux2 webclient - bodyToMono 예외 처리 MSA 로 만들다 보니 Rest 형식으로 서로 데이터를 주고 받는 경우가 많은데 webclient 를 이용하여 rest api를 call 할때 404, 500 등의 오류에 대한 처리 방법을 알아 본다. 기존 코드 public User findByIdAndPassword(String id, String pw) { return getWebClient().get() .uri(String.format(URI.FIND_NO_BY_ID_PW.get(), new Object[] {id, encryptParam(pw)})) .exchange() .bodyToMono(User.class); .block(); } 사용자 인증 API 에서는 id 가 없을 경우 404 NOT_FOUND 와 함께 데이터는 null 로 보내.. 2020. 11. 20. Spring WebFlux Spring5에 도입된 WebFlux Spring MVC 는 Java EE의 Servlet Spec에 기반하여 만들어 졌고 본질적으로 Blocking + 동기방식입니다. Spring Framework 3.x부터 비동기 방식을 지원하고 있지만 Servlet은 Response를 기다리는 동안 Pool의 Thread들을 지연시킬 수 있기 때문에 전체 stack을 Reactive하게 할 수는 없죠. Reactive Programming이란? 비동기 데이터 Stream으로 Non-Blocking 어플리케이션을 구현하는 프로그래밍을 말합니다. Stream으로 프로그래밍 한다는 것은 함수형 처리가 가능해 진다는 것을 이건 다시말해 filter 하거나 map 할 수도 있고 여러 형태로 편하게 사용가능해 진다는 말이 됩.. 2019. 7. 19. 이전 1 다음 728x90 반응형 LIST