반응형

스프링 WebFlux 필터

1. 개요 필터는 엔드포인트를 변경하지 않고 요청이나 응답을 수정할 수 있는 방법을 제공하므로 웹 애플리케이션에서 필터 사용이 널리 사용됩니다. 이 빠른 사용방법(예제)에서는 WebFlux Framework로 구현하는 가능한 방법을 설명합니다. WebFlux 프레임워크 자체에 대한 자세한 내용은 다루지 않으므로 자세한 내용은 이 기사 를 참조하십시오. 2. 메이븐 의존성 우선 WebFlux Maven 의존성을 선언해 보겠습니다. org.springframework.boot spring-boot-starter-webflux 3. 종점 먼저 일부 Endpoints을 만들어야 합니다. 각 방법에 대해 하나씩: 어노테이션 기반 및 기능 기반. 어노테이션 기반 컨트롤러부터 시작하겠습니다. @GetMapping(p..

Spring 2023.01.13

Spring 5로 응답에 헤더를 설정하는 방법

1. 개요 이 빠른 사용방법(예제)에서는 Spring 5의 WebFlux 프레임워크 를 사용하여 반응하지 않는 엔드포인트 또는 API 에 대해 서비스 응답에 헤더를 설정하는 다양한 방법을 살펴 봅니다 . 이전 게시물 에서 이 프레임워크에 대한 추가 정보를 찾을 수 있습니다 . 2. 비반응성 구성 요소용 헤더 단일 응답에 헤더를 설정하려면 HttpServletResponse 또는 ResponseEntity 객체를 사용할 수 있습니다. 반대로 목표가 모든 응답 또는 여러 응답에 필터를 추가하는 것이라면 Filter 를 구성해야 합니다 . 2.1. HttpServletResponse 사용 HttpServletResponse 개체를 REST Endpoints에 인수로 추가 한 다음 addHeader() 메서드를..

Spring 2023.01.13

스프링 세션 리액티브 지원 사용방법(예제): WebSession

1. 소개 이 기사에서는 Spring WebFlux와 Spring Session을 결합하는 방법에 대해 알아봅니다. 특히 Spring Boot 2의 WebFlux와 Spring Session을 통합하는 Spring WebSession을 사용하는 방법을 배웁니다. Spring 세션 은 " 이름-값 쌍 의 단순화된 맵 "으로 정의됩니다. 세션 은 사용자 및 주체 와 같은 HTTP 세션에 중요한 값을 추적합니다 . 따라서 새로운 반응형 WebFlux Mono 및 Flux 개체 와 함께 세션 관리를 사용할 수 있습니다 . 스프링 세션은 또한 다른 애플리케이션 컨테이너(단지 Tomcat이 아닌) 사용을 지원합니다. Spring Session에 대한 자세한 내용은 Baeldung 의 또 다른 훌륭한 기사를 확인하십..

Spring 2023.01.13

리액터 코어 소개

1. 소개 Reactor Core 는 반응형 프로그래밍 모델을 구현하는 Java 8 라이브러리입니다. 반응형 애플리케이션 구축을 위한 표준인 Reactive Streams 사양 위에 구축되었습니다 . 비반응형 Java 개발의 배경에서 반응형으로 가는 것은 상당히 가파른 학습 곡선일 수 있습니다. 이는 Java 8 Stream API와 비교할 때 동일한 상위 수준 추상화로 오인될 수 있으므로 더욱 어려워집니다 . 이 기사에서 우리는 이 패러다임을 이해하려고 시도할 것입니다. 리액티브 코드를 작성하는 방법에 대한 그림을 구축할 때까지 Reactor를 통해 작은 단계를 수행하여 이후 시리즈에서 제공할 고급 기사의 토대를 마련할 것입니다. 2. 리액티브 스트림 사양 Reactor를 살펴보기 전에 Reactive..

Spring 2023.01.13

스프링 5 웹플럭스 사용방법(예제)

1. 개요 Spring 5에는 웹 애플리케이션에 반응형 프로그래밍 지원을 제공하는 Spring WebFlux가 포함되어 있습니다. 이 사용방법(예제)에서는 반응형 웹 구성 요소 인 RestController 및 WebClient 를 사용하여 작은 반응형 REST 애플리케이션을 만듭니다 . 또한 Spring Security를 ​​사용하여 반응형 엔드포인트를 보호하는 방법도 살펴보겠습니다. 2. 스프링 웹플럭스 프레임워크 Spring WebFlux는 내부적으로 Project Reactor 와 해당 게시자 구현인 Flux 및 Mono 를 사용 합니다. 새 프레임워크는 두 가지 프로그래밍 모델을 지원합니다. 어노테이션 기반 반응형 구성요소 기능 라우팅 및 처리 다른 사용방법(예제)에서 라우팅 및 처리와 같은 기..

Spring 2023.01.13

Spring 5의 기능적 웹 프레임워크 소개

1. 소개 Spring WebFlux는 반응 원리를 사용하여 구축된 새로운 기능적 웹 프레임워크입니다. 이 사용방법(예제)에서는 실제로 작업하는 방법을 배웁니다. Spring 5 WebFlux 에 대한 기존 사용방법(예제)를 기반으로 합니다. 이 사용방법(예제)에서는 어노테이션 기반 구성 요소를 사용하여 간단한 반응형 REST 애플리케이션을 만들었습니다. 여기서는 기능적 프레임워크를 대신 사용합니다. 2. 메이븐 의존성 이전 기사에서 정의한 것과 동일한 spring-boot-starter-webflux 의존성이 필요합니다. org.springframework.boot spring-boot-starter-webflux 2.6.4 3. 기능적 웹 프레임워크 기능적 웹 프레임워크는 기능을 사용하여 요청을 라우..

Spring 2023.01.13

스프링 5 웹클라이언트

1. 개요 이 예제 에서는 Spring 5에 도입된 반응형 웹 클라이언트인 WebClient 를 살펴보겠습니다 . 또한 테스트에 사용하도록 설계된 WebClient 인 WebTestClient 도 살펴보겠습니다 . 2. WebClient 란 무엇입니까 ? 간단히 말해서 WebClient 는 웹 요청을 수행하기 위한 기본 진입점을 나타내는 인터페이스입니다. Spring Web Reactive 모듈의 일부로 생성 되었으며 이러한 시나리오에서 클래식 RestTemplate 을 대체할 것입니다. 또한 새 클라이언트는 HTTP/1.1 프로토콜을 통해 작동하는 반응형 비차단 솔루션입니다. 실제로 비차단 클라이언트이고 spring-webflux 라이브러리에 속하지만 이 솔루션은 동기식 및 비동기식 작업을 모두 지원하..

Spring 2023.01.12

Spring WebClient VS RestTemplate

1. 개요 이 예제에서는 Spring의 두 가지 웹 클라이언트 구현인 RestTemplate 과 새로운 Spring 5의 반응형 대체 WebClient 를 비교할 것 입니다. 2. 차단 및 비차단 클라이언트 다른 서비스에 대한 HTTP 호출을 수행하는 것은 웹 애플리케이션의 일반적인 요구 사항입니다. 따라서 웹 클라이언트 도구가 필요합니다. 2.1. RestTemplate 차단 클라이언트 오랫동안 Spring은 RestTemplate 을 웹 클라이언트 추상화로 제공했습니다. 내부적으로 RestTemplate 은 요청당 스레드 모델을 기반으로 하는 Java Servlet API를 사용합니다. 이는 웹 클라이언트가 응답을 받을 때까지 스레드가 차단됨을 의미합니다. 차단 코드의 문제는 각 스레드가 일정량의 메..

Spring 2023.01.12

매개변수가 있는 Spring WebClient 요청

1. 개요 많은 프레임워크와 프로젝트에서 반응형 프로그래밍과 비동기식 요청 처리 를 도입하고 있습니다 . 따라서 Spring 5 는 WebFlux 프레임워크 의 일부로 반응형 WebClient 구현을 도입했습니다 . 이 사용방법(예제)에서는 WebClient 를 사용하여 REST API Endpoints을 반응적 으로 사용하는 방법을 배웁니다 . 2. REST API 엔드포인트 시작하려면 다음 GET Endpoints 을 사용하여 샘플 REST API 를 정의해 보겠습니다 . /products – 모든 제품 가져오기 /products/{id} – ID로 제품 가져오기 /products/{id}/attributes/{attributeId} – ID로 제품 속성 가져오기 /products/?name={이름}..

Spring 2023.01.12

반응형 애플리케이션을 위한 Spring Security 5

1. 소개 이 기사에서는 반응형 애플리케이션 Security을 위한 Spring Security 5 프레임워크 의 새로운 기능을 살펴보겠습니다 . 이 릴리스는 Spring 5 및 Spring Boot 2에 맞춰져 있습니다. 이 기사에서는 Spring 5 프레임워크의 새로운 기능인 반응형 애플리케이션 자체에 대해서는 자세히 다루지 않을 것입니다. 자세한 내용 은 Reactor Core 소개 기사를 확인 하십시오. 2. 메이븐 설정 Spring Boot 스타터를 사용하여 필요한 모든 의존성과 함께 프로젝트를 부트스트랩합니다. 기본 설정에는 상위 선언, 웹 스타터 및 Security 스타터 의존성이 필요합니다. Spring Security 테스트 프레임워크도 필요합니다. org.springframework.b..

Spring 2023.01.12
반응형