본문 바로가기
반응형

Programing/Java & Spring15

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.
함수형 인터페이스(Funcational Interface) Java에서는 함수형 인터페이스가 도입되어 함수형 프로그래밍을 지원하고, 람다 표현식과 함께 사용함으로써 코드의 간결성과 확장성을 개선하고자 했습니다. 함수형 인터페이스는 Java 8부터 등장하여 Java 프로그래밍에서 중요한 역할을 하고 있습니다. 람다 표현식 지원: Java 8에서는 람다 표현식이 도입되었습니다. 이를 통해 익명 함수를 간결하게 정의하고 전달할 수 있게 되었습니다. 람다 표현식은 함수형 인터페이스와 함께 사용됩니다. 따라서 함수형 인터페이스의 필요성이 부각되었습니다. 함수형 프로그래밍 패러다임: 함수형 프로그래밍은 코드의 간결성, 가독성, 테스트 용이성, 병렬 처리 등 여러 이점을 제공합니다. 이러한 함수형 프로그래밍 패러다임을 Java에 도입하고자 했으며, 함수형 인터페이스는 이를 .. 2023. 9. 22.
반응형