【AI 자막】 Spring WebFlux / SpringBoot를 사용하여 반응형 마이크로서비스 구축하기

Spring WebFlux 와 project Reactor 를 사용하여 반응형 프로그래밍 을 작성하고 반응형 마이크로서비스 를 구축하는 방법을 배워보세요!
4.36 (18 reviews)
Udemy
platform
한국어
language
Web Development
category
【AI 자막】 Spring WebFlux / SpringBoot를 사용하여 반응형 마이크로서비스 구축하기
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 구현하기

  1. @RestControllerWebClient를 사용하여 반응형 API 엔드포인트 만들기:

    • @RestController는 Spring MVC에서 RESTful 서비스를 구현하는 데 사용되는 어노테이션입니다.
    • WebClient는 HTTP 클라이언트로, Reactive Stack의 일부입니다.
  2. Spring Data REST 활용:

    • Spring Data REST를 사용하여 CRUD 작업을 자동으로 생성할 수 있습니다.
    • @RepositoryRestResource 어노테이션을 사용하여 API 엔드포인트를 명시적으로 정의할 수 있습니다.
  3. Data Model과 Repository 설계:

    • JPA 또는 Spring Data MongoDB를 사용하여 데이터 모델을 정의합니다.
    • @Repository 어노테이션을 사용하여 데이터에 대한 repository 인터페이스를 작성합니다.

JUnit으로 자동화된 테스트 작성하기

  1. JUnit 4와 JUnit 5 사용:

    • JUnit을 사용하여 API의 각 기능(CRUD 작업)에 대한 단위 테스트를 작성합니다.
    • @SpringBootTest를 사용하여 Spring Boot 애플리케이션의 특정 부분을 테스트할 수 있습니다.
  2. WebTestClient 활용:

    • RAC (Reactive Application Context)을 제공하는 WebTestClient를 사용하여 반응형 API를 테스트합니다.
    • WebTestClient를 통해 GET, POST, PUT, DELETE 요청을 모킹하고 검증할 수 있습니다.

WebClient를 사용한 예외 처리하기

  1. 예외 시나리오 구현:

    • WebClient에서 exchange() 또는 retrieve() 메서드를 사용하여 Reactive API를 호출합니다.
    • WebClient에서 발생할 수 있는 예외(예: 네트워크 오류, HTTP 상태 코드 등)을 처리합니다.
  2. Global Exception Handling:

    • @ControllerAdvice를 사용하여 전역적으로 예외를 처리할 수 있는 방법을 알아봅니다.
    • @ExceptionHandler를 사용하여 특정 예외에 대한 처리 로직을 정의합니다.

실시간 데이터 스트리밍 - SSE (Server-Sent Events)

  1. SSE 엔드포인트 구현:

    • @GetMappingproduces = MediaType.TEXT_EVENT_STREAM_VALUE를 추가하여 SSE 엔드포인트를 정의합니다.
    • ServerSentWebEvent<T> 또는 SseEmitter를 사용하여 SSE 스트림을 생성하고 관리합니다.
  2. Mongo DB와의 통합:

    • MongoDB의 Tailable Cursor 또는 Capped Collection을 사용하여 실시간으로 데이터를 스트리밍할 수 있습니다.
    • @Tailable 어노테이션을 사용하여 MongoDB에서 무한 결과 집합을 가져오는 쿼리를 정의합니다.
  3. SSE 엔드포인트 테스트:

    • SseTestServer를 사용하여 SSE 엔드포인트를 간단하게 테스트할 수 있습니다.
    • StepVerifierFluxAssert와 같은 추가적인 도구를 사용하여 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