본문 바로가기
반응형

webflux3

WebFlux, WebClient 사용하여 API 호출 - 3편 📌 subscribe() 를 사용하여 비동기적 방식으로 처리하기 앞서 봤던 block() 메소드는 Mono 또는 Flux 스트림을 동기적으로 블로킹하고 결과를 기다리는 데 사용됩니다. 리액티브 프로그래밍의 핵심 아이디어는 비동기적인 방식으로 작업을 수행하고 결과를 기다리지 않고 다른 작업을 수행하는 동안 리소스를 효율적으로 활용하는 것입니다. ✏️ block() 을 사용하지 않고 대신 subscribe() 를 사용하여 비동기적인 방식으로 접근해보도록 하겠습니다. System.out.println("#1"); Mono mono = webClient.mutate() .build().method(HttpMethod.GET) .uri("http://ip.jsontest.com") .headers(httpHead.. 2023. 10. 5.
WebFlux, WebClient 사용하여 API 호출 - 2편 📌 JSON 테스트를 위한 사이트 소개 JSON을 사용하는 서비스를 테스트하기 위한 플랫폼입니다. callback과 같은 여러 매개변수를 지원하여 JavaScript 및 기타 웹 애플리케이션을 테스트할 수 있습니다. 가장 단순한 http://ip.jsontest.com 라는 API로 IP 주소를 응답받아보도록 하겠습니다. 브라우저를 열고 http://ip.jsontest.com 을 입력하시면 JSON형태의 데이터가 오는 것을 확인할 수 있습니다. { "ip": "000.000.000.00" } 📌 WebClient를 통해 API 호출하기 ✏️ 1편에서 만들었던 WebClient Build에 관한 부분을 메소드로 분리합니다. private static WebClient getWebClient() throw.. 2023. 9. 26.
WebFlux, WebClient 사용하여 API 호출 - 1편 📌 Java8 Reactor 프레임워크 Java 8 이전에도 자바에서 리액티브 프로그래밍을 수행할 수 있었지만, Java 8에서는 리액티브 스트림(Reactive Streams)이라는 개념을 표준 라이브러리로 도입했습니다. 리액티브 스트림은 비동기 및 논블로킹 환경에서 데이터 스트림을 처리하는데 사용되는 표준 인터페이스를 정의합니다. 이 인터페이스는 Publisher, Subscriber, Subscription, Processor 등을 포함합니다. Java 8의 Reactor 프레임워크는 이 리액티브 스트림 스펙을 구현하고, 리액티브 프로그래밍을 위한 유용한 도구와 함수를 제공합니다. Reactor는 Flux와 Mono라는 두 가지 핵심 타입을 제공하여 데이터 스트림을 다룰 수 있습니다. 📌 Sprin.. 2023. 9. 26.
반응형