본문 바로가기

Baeldung번역&공부/Spring-Reactive12

SpringMVC Async와 SpringWebFlux차이(Spring MVC Async vs Spring WebFlux) 원본 글: https://www.baeldung.com/spring-mvc-async-vs-webflux이 글은 Spring MVC에서 제공되는 @Async와 Spring WebFlux를 비교해봅니다. 1. Implementation Scenario간단한 API들을 포함하고 있는 웹 애플리케이션을 제작하고, 쓰레드들을 blocking, non-blocking방식을 통해서 비교해봅니다.하나의 엔드포인트를 만들고 String 형태의 값을 반환할겁니다. 여기서 핵심은 요청이 들어올때 Filter에서 200ms정도 딜레이를 줄거고 Controller에서 500ms의 딜레이를 주고 String을 반환할겁니다.테스트툴은 Apache ab라는 툴을 사용할 것이고, 이를 통해서 여러 요청을 보내볼겁니다. 2. Spri.. 2025. 2. 26.
WbFlux에서 404Status를 반환하는방법(How to Return 404 with Spring WebFlux) 원본 글: https://www.baeldung.com/spring-webflux-404Netty 서버는 Servlet API를 지원하지 않으므로, 이 환경에서 404 HTTP 상태 코드를 반환하는 방법을 알아봅니다.1. Semantic Response Status표준 RESTful 방식에 따르면, API의 의미를 정확하게 표현하기 위해 다양한 HTTP 상태 코드를 적절히 활용해야 합니다.1.1 Default Return Status모든 요청에 대해 잘 처리되면 보통 200(OK)응답을 리턴합니다.@GetMapping(value = "/ok", produces = MediaType.APPLICATION_JSON_VALUE)public Flux ok() { return Flux.just("ok");}.. 2025. 2. 25.
Webflux에서 Error를 다루는방법(Handling Errors in Spring WebFlux) 원본 글: https://www.baeldung.com/spring-webflux-errorsSpring WebFlux에서 에러를 다루는 여러 전략들에 대해 장점을 파악하고 소개합니다. 1. Setting Up the Example글에서는 Maven을 썼지만 저는 gradle로 초기셋팅을 진행하겠습니다.implementation 'org.springframework.boot:spring-boot-starter-webflux'해당 의존성을 추가해줍니다.이 글에서 예제는 ${username} 파라미터를 쿼리형태로 받아서 "Hello ${username}"을 반환할 겁니다.먼저 /hello 요청에 대한 router function을 생성합니다.@Configurationpublic class UserRouter.. 2025. 2. 24.
Spring WebFlux - 정적 컨텐츠들 원본 글: https://www.baeldung.com/spring-webflux-static-content이미지, HTML, CSS, Javascript 파일과 같은 정적 컨텐츠들을 웹 애플리케이션에서 제공해야할 때가 있습니다.이 글에서는 Spring WebFlux에서 어떻게 정적 컨텐츠들을 제공하는지 학습합니다.1. Overriding the Default ConfigurationSpring Boot에서는 정적 컨텐츠들을 다음과 같은 경로에서 제공하고 있습니다./public/static/resoucre/META-INF/resources만약 Spring WebFlux에서 위의 경로들을 바꾸고 싶으면 appliction.properties에서 수정해줍니다.spring.webflux.static-path-.. 2025. 2. 18.
Spring WebFlux 가이드(Guide to Spring WebFlux) 원본 글: https://www.baeldung.com/spring-webfluxSpring 5에는 웹 애플리케이션에 대한 리액티브 프로그래밍 지원을 제공하는 Spring WebFlux가 포함되어 있습니다.이 글에서는 RestController, WebClient를 이용한 간단한 reactive Rest 애플리케이션을 만들어봅니다. 또한, Spring Security를 통해 엔드포인트를 보호하는 법도 확인해봅니다.1. Spring WebFlux FrameworkSpring WebFlux는 내부적으로 Project Reactor를 사용하며, Flux와 Mono라는 퍼블리셔(Publisher) 구현체를 활용합니다.이 새로운 프레임워크는 두 가지 프로그래밍 모델을 지원합니다.어노테이션 기반의 리액티브 컴포넌트.. 2025. 2. 17.
스프링-웹플럭스-필터(Spring WebFlux Filters) 원본 글: https://www.baeldung.com/spring-webflux-filters Spring Webflux Filters | BaeldungLearn how to modify requests and responses using Spring Webflux Filterswww.baeldung.com 엔드포인트를 수정하지 않고 request나 response를 수정하기 위해 filter는 웹 애플리케이션에서 많이 사용되고 있습니다. 이 가이드에서는 웹 플럭스를 이용해서 이를 구현하는 방법을 설명합니다. 1. Maven Dependency먼저, WebFlux에대한 의존성을 추가합니다. //gradleimplementation 'org.springframework.boot:spring-boot-s.. 2025. 2. 15.