01 – Getting Started with the Course
001 Course Introduction00:00:00
002 Prerequisites00:00:00
03 – Why Reactive Programming
001 Why Reactive Programming – Part 100:00:00
002 Why Reactive Programming – Part 200:00:00
04 – Introduction to Reactive Programming
001 What is Reactive Programming00:00:00
002 Introduction to Reactive Streams00:00:00
05 – Introduction to Spring WebFlux
001 Non-Blocking(Reactive) RestFul API using Spring WebFlux00:00:00
06 – Getting Started with Project Reactor
001 Introduction to Project Reactor00:00:00
002 Reactor Reactive Types – Flux and Mono00:00:00
07 – Setting up the base project for this course
001 Project SetUp00:00:00
08 – Lets Explore Flux and Mono Hands On
001 Let’s write our very first Flux00:00:00
002 Let’s write our very first Mono00:00:00
003 Reactive Stream Events00:00:00
004 Testing Flux using JUnit500:00:00
005 Transforming Data Using Operators in Project Reactor00:00:00
006 Transform using map() Operator00:00:00
007 Reactive Streams are Immutable00:00:00
008 Filter using filter() Operator00:00:00
009 Advanced transform using the flatMap() Operator00:00:00
010 Asynchronous Operations using flatMap() Operator00:00:00
011 Advanced transform using the concatMap() Operator00:00:00
012 flatMap( ) operator in Mono00:00:00
013 flatMapMany( ) operator in Mono00:00:00
014 Transform using the transform() Operator00:00:00
015HAN~100:00:00
016 Introduction to Combining Reactive Streams00:00:00
017 Combining Reactive Streams using concat and concatWith Operator00:00:00
018COM~100:00:00
019 Combining Reactive Streams using mergeSequential() operator00:00:00
020 Combining Reactive Streams using zip and zipWith() Operator00:00:00
09 – Introduction to Spring WebFlux
001 Introduction to Spring WebFlux00:00:00
002 What are we going to build in this Course00:00:00
10 – Set up the MoviesInfoService Service
001 Project SetUp00:00:00
11 – Simple Non Blocking RESTFUL API using Annotated Controller Approach
001BUI~100:00:00
002BUI~100:00:00
003 Build Infinite Streams API (SSE)00:00:00
12 – Automated Tests using JUnit5 and WebFluxTest
001 Introduction to Automated Tests00:00:00
002TES~100:00:00
003 Different Approaches of Testing an Endpoint00:00:00
004 JUnit Test for the Mono Endpoint00:00:00
005 JUnit Test Streaming Endpoint – SSE00:00:00
13 – Reactive Programming in Mongo DB for the MovieInfo Service
001 Set up the MovieInfo Document00:00:00
002CON~100:00:00
003CON~100:00:00
004SET~100:00:00
005WRI~100:00:00
006WRI~100:00:00
007WRI~100:00:00
008WRI~100:00:00
009WRI~100:00:00
14 – Build MovieInfo Service using Rest Controller Approach
001BUI~100:00:00
002INT~100:00:00
003 Build a GET Endpoint to get all the MoviesInfo00:00:00
004BUI~100:00:00
005BUI~100:00:00
006BUI~100:00:00
15 – Unit Testing in Spring WebFlux
001 Setting up the UnitTest in WebFlux00:00:00
002 Unit Test for GetAllMovieInfos endpoint – GET00:00:00
003 Unit Test for the create MovieInfo Endpoint – POST00:00:00
004 Unit Test for the update MovieInfo Endpoint – PUT00:00:00
16 – Bean Validation using Validators and ControllerAdvice
001BEA~100:00:00
002CUS~100:00:00
003BEA~100:00:00
17 – Using ResponseEntity with Reactive Types
001 Need for ResponseEntity in Spring WebFlux00:00:00
002USI~100:00:00
18 – Writing Custom Queries using ReactiveMongoRepository
001IMP~100:00:00
002GET~100:00:00
19 – Spring WebFlux Under the Hood – Netty and Threading Model
001 How Netty works with Spring Webflux _00:00:00
002 How does Netty handle the Request _00:00:00
20 – Introduction to Functional Web Module in Spring WebFlux
001 Introduction to Functional Web00:00:00
002BUI~100:00:00
21 – Build MoviesReview Service using Functional Web
001 Set up the Repository Class for the Review Document00:00:00
002 Build the POST endpoint for creating a new Review00:00:00
003 Write Integration test for creating a new Review00:00:00
004BUI~100:00:00
005 Nesting Endpoints using nest() Function00:00:00
006BUI~100:00:00
007BUI~100:00:00
008BUI~100:00:00
22 – Unit Testing Functional Web
001 Setting up Test Class for Unit Testing00:00:00
002 Unit Test the POST endpoint for creating a new Review00:00:00
23 – Bean Validations using Functional Web
001ADD~100:00:00
002 Validating the Bean using the Validator00:00:00
003 Unit Testing Bean Validation00:00:00
24 – Custom Global ErrorHandler in Functional Web
001 Implement the GlobalErrorHandler in Functional Web00:00:00
25 – Handling ResourceNotFound in FunctionalWeb
001RES~100:00:00
002RES~100:00:00
26 – MoviesService – Rest Service connects the MovieInfo and MovieReview Service
001OVE~100:00:00
002SET~100:00:00
003INT~100:00:00
004BUI~100:00:00
005BUI~100:00:00
006COM~100:00:00
27 – Handling Network Exceptions in WebClient
001 Network Exceptions in Service to Service Communications00:00:00
002 Handling 4XX in MoviesInfoService in WebClient00:00:00
003 Handling 5xx in MoviesInfoService in WebClient00:00:00
004 Implement the 4XX and 5XX error handling in ReviewsClient00:00:00
28 – Integration Testing External Services using WireMock
001 Introduction to WireMock00:00:00
002 SetUp Wiremock in Integration Tests00:00:00
003 Stubs for MoviesInfoService and ReviewService00:00:00
004 Simulate 4xx Errors in Wiremock00:00:00
005 Simulate 5xx Errors in Wiremock00:00:00
29 – Retrying Failed HTTP Calls
001 Why Retry failed HTTP calls _00:00:00
002 Retry failed Http calls using retry()00:00:00
003RET~100:00:00
004 Retry failed Http calls using retrySpec() – Retrying Specific Exceptions00:00:00
005 Reusing the retry logic across different Rest Clients00:00:00
30 – Server Sent Events (SSE)
001 Catching up on Server Sent Events (SSE)00:00:00
002 Introduction to Sinks00:00:00
003 Sinks – Hands On00:00:00
004 Build a Streaming Endpoint in MoviesInfoService00:00:00
005 Integration Test for the Streaming Endpoint00:00:00
006 Build a Streaming Endpoint in MoviesReviewService00:00:00
007 Build a Streaming Client using WebClent in MoviesService00:00:00
31 – Why Reactive Programming [Old Content]
001 Why Reactive Programming _00:00:00
002 Traditional Rest API Design – How it works _00:00:00
32 – Introduction to Reactive Programming [Old Content]
001 What is Reactive Programming _00:00:00
002 Reactive Streams Specification00:00:00
003 Reactive Libraries00:00:00
33 – Getting started with Project Reactor [Old Content]
001 Introduction to Project Reactor00:00:00
002 Reactor Types – Flux and Mono00:00:00