반응형

반응 시퀀스 로깅

1. 개요 Spring WebFlux 의 도입으로 우리는 반응형 논블로킹 애플리케이션을 작성할 수 있는 또 다른 강력한 도구를 갖게 되었습니다. 이 기술을 사용하는 것이 이전보다 훨씬 쉬워 졌지만 Spring WebFlux에서 반응 시퀀스를 디버깅하는 것은 상당히 번거로울 수 있습니다 . 이 빠른 사용방법(예제)에서는 비동기 시퀀스에서 이벤트를 쉽게 기록하는 방법과 몇 가지 간단한 실수를 피하는 방법을 살펴봅니다. 2. 메이븐 의존성 반응형 스트림을 생성할 수 있도록 프로젝트에 Spring WebFlux 의존성을 추가해 보겠습니다. org.springframework.boot spring-boot-starter-webflux Maven Central에서 최신 spring-boot-starter-webfl..

Spring 2023.01.16

Spring WebClient 호출 로깅

1. 개요 이 예제에서는 반응형 HTTP 클라이언트인 Spring의 WebClient 를 사용자 지정 하여 요청과 응답을 기록하는 방법을 보여줍니다. 2. 웹클라이언트 WebClient 는 Spring WebFlux 를 기반으로 하는 HTTP 요청에 대한 반응형 비차단 인터페이스입니다 . 선언적 구성을 위한 반응형 유형이 있는 기능적이고 유창한 API가 있습니다. 배후에서 WebClient 는 HTTP 클라이언트를 호출합니다. Reactor Netty가 기본이며 Jetty의 반응형 HttpClient 도 지원됩니다. 또한 WebClient 용 ClientConnector 를 설정하여 HTTP 클라이언트의 다른 구현을 연결할 수 있습니다 . 3. 요청 및 응답 로깅 WebClient 에서 사용하는 기본 H..

Spring 2023.01.16

동시 Spring WebClient 호출

1. 개요 일반적으로 애플리케이션에서 HTTP 요청을 할 때 이러한 호출을 순차적으로 실행합니다. 그러나 이러한 요청을 동시에 수행하려는 경우가 있습니다. 예를 들어, 여러 소스에서 데이터를 검색하거나 단순히 애플리케이션의 성능을 향상시키려는 경우에 이 작업을 수행할 수 있습니다. 이 빠른 사용방법(예제)에서는 Spring 반응형 WebClient 를 사용하여 병렬 서비스 호출을 수행하여 이를 수행하는 방법을 알아보기 위해 몇 가지 접근 방식을 살펴보겠습니다 . 2. 리액티브 프로그래밍 요약 간단히 요약하자면 WebClient 는 Spring 5에 도입되었으며 Spring Web Reactive 모듈의 일부로 포함되었습니다. HTTP 요청을 보내기 위한 반응형 비차단 인터페이스를 제공합니다 . WebFl..

Spring 2023.01.16

Spring에서 WebClient Mocking

1. 개요 오늘날 우리는 대부분의 서비스에서 REST API를 호출할 것으로 예상합니다. Spring은 REST 클라이언트 구축을 위한 몇 가지 옵션을 제공하며 WebClient 를 권장 합니다. 이 빠른 사용방법(예제)에서는 WebClient 를 사용하여 API를 호출 하는 서비스를 단위 테스트 하는 방법을 배웁니다 . 2. 조롱 테스트에서 조롱을 위한 두 가지 주요 옵션이 있습니다. Mockito 를 사용 하여 WebClient 의 동작을 모방합니다. 실제로 WebClient 를 사용 하지만 MockWebServer (okhttp) 를 사용하여 호출하는 서비스를 모의합니다. 3. 모키토 사용하기 Mockito 는 자바에서 가장 많이 사용되는 조롱 라이브러리입니다. 메서드 호출에 대한 미리 정의된 응답..

Spring 2023.01.16

스프링 웹클라이언트 필터

1. 개요 이 예제에서는 기능적이고 반응적인 웹 프레임워크인 Spring WebFlux 에서 WebClient 필터 를 탐색할 것입니다. 2. 요청 필터 필터는 클라이언트 요청(또는 응답)을 가로채고 검사하고 수정할 수 있습니다. 필터는 논리가 한 곳에 유지되기 때문에 모든 단일 요청에 기능을 추가하는 데 매우 적합합니다. 사용 사례에는 몇 가지만 언급하자면 클라이언트 요청 모니터링, 수정, 로깅 및 인증이 포함됩니다. 요청에는 순서가 지정된 0개 이상의 필터 체인이 있습니다. Spring Reactive에서 필터는 기능 인터페이스 ExchangeFilterFunction 의 인스턴스입니다 . 필터 함수에는 수정할 ClientRequest 와 다음 ExchangeFilterFunction 이라는 두 개의..

Spring 2023.01.16

WebClient를 사용하여 JSON 개체 List 가져오기

1. 개요 당사 서비스는 종종 다른 REST 서비스와 통신하여 정보를 가져옵니다. Spring 5부터 우리는 WebClient 를 사용하여 이러한 요청을 반응적이고 차단하지 않는 방식으로 수행합니다. WebClient 는 Project Reactor 위에 구축된 새로운 WebFlux 프레임워크의 일부입니다 . 유창하고 반응적인 API가 있으며 기본 구현에서 HTTP 프로토콜을 사용합니다. 웹 요청을 하면 데이터가 JSON으로 반환되는 경우가 많습니다. WebClient 는 이것을 우리를 위해 변환할 수 있습니다. 이 기사에서는 WebClient 를 사용하여 JSON 배열 을 Object 의 Java 배열 , POJO 의 배열 및 POJO List 으로 변환하는 방법을 알아봅니다 . 2. 의존성 WebCl..

Spring 2023.01.16

WebClient로 파일 업로드

1. 개요 우리의 애플리케이션은 종종 HTTP 요청을 통해 파일 업로드를 처리해야 합니다. Spring 5부터 이제 이러한 요청을 반응형으로 만들 수 있습니다. 리액티브 프로그래밍 에 대한 추가 지원을 통해 적은 수의 스레드와 배압 을 사용하여 비차단 방식 으로 작업할 수 있습니다 . 이 기사에서는 비차단 반응 HTTP 클라이언트인 WebClient 를 사용하여 파일을 업로드하는 방법을 설명합니다. WebClient 는 Project Reactor 라는 반응형 프로그래밍 라이브러리의 일부입니다 . BodyInserter 를 사용하여 파일을 업로드하는 두 가지 접근 방식을 다룰 것 입니다. 2. WebClient 로 파일 업로드 WebClient 를 사용하려면 프로젝트에 spring-boot-starter..

Spring 2023.01.16

WebFlux WebClient에서 상태 코드를 테스트할 때 Response body을 얻는 방법

1. 개요 HTTP 응답의 상태 코드를 사용하여 애플리케이션이 주어진 응답으로 다음에 무엇을 해야 하는지 결정하는 것이 종종 도움이 됩니다. 이 사용방법(예제)에서는 WebFlux의 WebClient 를 사용하여 REST 요청에서 반환된 상태 코드 및 Response body에 액세스하는 방법을 살펴보겠습니다 . WebClient 는 Spring 5에 도입되었으며 RESTful 서비스를 호출하는 동안 비동기 I/O에 사용할 수 있습니다. 2. 사용 사례 다른 서비스에 대한 RESTful 호출을 수행할 때 애플리케이션은 일반적으로 반환된 상태 코드 를 사용하여 다른 기능을 트리거합니다. 일반적인 사용 사례에는 정상적인 오류 처리, 요청 재시도 트리거 및 사용자 오류 결정이 포함됩니다. 따라서 REST 호출..

Spring 2023.01.16

Spring 5 WebFlux URL 일치 탐색

1. 개요 Spring 5는 URI 템플릿 패턴을 구문 분석하기 위한 새로운 PathPatternParser 를 가져왔습니다 . 이것은 이전에 사용된 AntPathMatcher 의 대안 입니다. AntPathMatcher 는 Ant 스타일 경로 패턴 일치를 구현한 것입니다 . PathPatternParser 는 경로를 PathElements 의 연결된 List으로 나눕니다 . 이 PathElements 체인은 빠른 패턴 일치를 위해 PathPattern 클래스에서 사용합니다. PathPatternParser 와 함께 새로운 URI 변수 구문에 대한 지원도 도입되었습니다. 이 기사에서는 Spring 5.0 WebFlux에 도입된 신규/업데이트된 URL 패턴 매처 와 이전 버전의 Spring부터 있었던 것을..

Spring 2023.01.13

Spring 5를 사용하는 반응형 WebSockets

1. 개요 이 기사에서는 Spring WebFlux에서 제공하는 반응형 기능과 함께 새로운 Spring 5 WebSockets API를 사용하여 간단한 예제를 만들 것입니다. WebSocket은 클라이언트와 서버 간의 전이중 통신을 가능하게 하는 잘 알려진 프로토콜로, 일반적으로 클라이언트와 서버가 짧은 대기 시간으로 높은 빈도로 이벤트를 교환해야 하는 웹 애플리케이션에서 사용됩니다. Spring Framework 5는 프레임워크에서 WebSocket 지원을 현대화하여 이 통신 채널에 반응 기능을 추가했습니다. Spring WebFlux에 대한 자세한 내용은 여기 에서 확인할 수 있습니다 . 2. 메이븐 의존성 현재 Spring Milestone Repository 에서 사용할 수 있는 spring-bo..

Spring 2023.01.13
반응형