【AI 자막】 Spring WebFlux / SpringBoot를 사용하여 반응형 마이크로서비스 구축하기
Spring WebFlux 와 project Reactor 를 사용하여 반응형 프로그래밍 을 작성하고 반응형 마이크로서비스 를 구축하는 방법을 배워보세요!
4.36 (18 reviews)

175
students
8.5 hours
content
Mar 2024
last update
$29.99
regular price
Why take this course?
여기서는 형 웹에서 Item CRUD 리액티브 API를 구현하고, JUnit으로 테스트하며, WebClient를 사용한 예외 처리 및 실시간 데이터 스트리밍 - 서버 측 이벤트(SSE)를 포함한 내용을 다룹니다.
Item CRUD 리액티브 API 구현하기
-
@RestController와 WebClient를 사용하여 반응형 API 엔드포인트 만들기:
@RestController
는 Spring MVC에서 RESTful 서비스를 구현하는 데 사용되는 어노테이션입니다.WebClient
는 HTTP 클라이언트로, Reactive Stack의 일부입니다.
-
Spring Data REST 활용:
- Spring Data REST를 사용하여 CRUD 작업을 자동으로 생성할 수 있습니다.
@RepositoryRestResource
어노테이션을 사용하여 API 엔드포인트를 명시적으로 정의할 수 있습니다.
-
Data Model과 Repository 설계:
- JPA 또는 Spring Data MongoDB를 사용하여 데이터 모델을 정의합니다.
@Repository
어노테이션을 사용하여 데이터에 대한 repository 인터페이스를 작성합니다.
JUnit으로 자동화된 테스트 작성하기
-
JUnit 4와 JUnit 5 사용:
- JUnit을 사용하여 API의 각 기능(CRUD 작업)에 대한 단위 테스트를 작성합니다.
@SpringBootTest
를 사용하여 Spring Boot 애플리케이션의 특정 부분을 테스트할 수 있습니다.
-
WebTestClient
활용:- RAC (Reactive Application Context)을 제공하는
WebTestClient
를 사용하여 반응형 API를 테스트합니다. WebTestClient
를 통해 GET, POST, PUT, DELETE 요청을 모킹하고 검증할 수 있습니다.
- RAC (Reactive Application Context)을 제공하는
WebClient를 사용한 예외 처리하기
-
예외 시나리오 구현:
WebClient
에서exchange()
또는retrieve()
메서드를 사용하여 Reactive API를 호출합니다.- WebClient에서 발생할 수 있는 예외(예: 네트워크 오류, HTTP 상태 코드 등)을 처리합니다.
-
Global Exception Handling:
@ControllerAdvice
를 사용하여 전역적으로 예외를 처리할 수 있는 방법을 알아봅니다.@ExceptionHandler
를 사용하여 특정 예외에 대한 처리 로직을 정의합니다.
실시간 데이터 스트리밍 - SSE (Server-Sent Events)
-
SSE 엔드포인트 구현:
@GetMapping
에produces = MediaType.TEXT_EVENT_STREAM_VALUE
를 추가하여 SSE 엔드포인트를 정의합니다.ServerSentWebEvent<T>
또는SseEmitter
를 사용하여 SSE 스트림을 생성하고 관리합니다.
-
Mongo DB와의 통합:
- MongoDB의 Tailable Cursor 또는 Capped Collection을 사용하여 실시간으로 데이터를 스트리밍할 수 있습니다.
@Tailable
어노테이션을 사용하여 MongoDB에서 무한 결과 집합을 가져오는 쿼리를 정의합니다.
-
SSE 엔드포인트 테스트:
SseTestServer
를 사용하여 SSE 엔드포인트를 간단하게 테스트할 수 있습니다.StepVerifier
나FluxAssert
와 같은 추가적인 도구를 사용하여 Reactive Stream의 동작을 검증합니다.
이러한 단계를 통해 형 웹에서 Item CRUD 리액티브 API를 구현하고, JUnit으로 테스트하며, WebClient를 사용한 예외 처리 및 SSE를 포함한 기능을 구축할 수 있습니다.
Loading charts...
5859634
udemy ID
07/03/2024
course created date
17/07/2024
course indexed date
Bot
course submited by