Description
In this course, you will learn :
- Spring WebFlux
- Reactive Microservices
- Spring Data Reactive MongoDB
- Spring Data R2DBC
- Server Sent Events
- 3 Microservices Development From Scratch
- WebClient
- Functional Endpoints
Syllabus :
1. Spring WebFlux
- How Netty Works
- Simple Math Service - DTO
- Simple Math Service - Service Class
- Simple Math Service - Controller
- Reactive Math Service
- Reactive Math Controller
- Reactive Math Service - DEMO
- WebFlux - Exposing Streaming API
- What happens when subscriber cancels!
- Flux API When Streaming Not Enabled
- Using Reactive Pipeline
- WebFlux - POST API
- Request Header
- Exception Handling - Custom Exception
- Exception Handling - Controller Advice
- Exception Handling - Demo
- Exception Handling - Reactive Error Signal
2. Functional Endpoints
- Router Config
- Router Handler
- Exposing Flux Via Functional Endpoint
- Streaming Endpoint
- POST API
- Exception Handling
- Path Based Routing Config
- Request Predicates
3. WebClient
- WebClient Bean
- GET Mono Endpoint
- Step Verifier - Quick Refresh
- GET Mono Refactor
- GET Flux Endpoint
- GET Flux Streaming Endpoint
- POST Request
- Setting Request Header
- Handling Bad Request
- Exchange vs Retrieve
- Query Params
- Setting Auth Token
- Attributes
4. Spring Data Reactive MongoDB
- High Level Architecture - Reactive Microservices
- Product-Service - Introduction
- Note On Spring Data Reactive MongoDB
- [Product-Service] - Packages
- [Product-Service] - DTO & Entity & Repository
- [Product-Service] - Entity DTO Util
- Entity-DTO - Mapper Performance Comparison
- [Product-Service] - Service Layer
- [Product-Service] - Controller with CRUD Operations
- [Product-Service] - Application Properties
- [SpringBoot 2.6 UPDATE]
- [Product-Service] - CRUD Demo
- Note On MongoDB
- Installing MongoDB
- Setting Up MongoDB
- End To End Testing With MongoDB
- [Product-Service] - Data Setup
- Additional Material On Spring Data Reactive MongoDB
5. Spring Data R2DBC
- R2DBC Drivers
- Note On R2DBC
- [User-Service] - DTO
- [User-Service] - Entity
- [User-Service] - Repository
- [User-Service] - Entity DTO Util
- [User-Service] - Service Layer
- [User-Service] - Controller
- [User-Service] - User Balance Update - R2DBC with @Query
- [User-Service] - Transaction DTO Util
- [User-Service] - Transaction Service
- Transaction Management
- [User-Service] - Transaction Controller
- R2DBC Drivers
- R2DBC Properties
- Tables Creation
- [User-Service] - CRUD DEMO
- [User-Service] - DELETE User Issue Fix
6. Reactive Microservices
- [Order-Service] - Packages
- [Order-Service] - DTO
- DTO Best Practices
- [Order-Service] - Entity
- [Order-Service] - Repository
- [Order-Service] - Application Properties
- [Order-Service] - Product Client
- [Order-Service] - User Client
- [Order-Service] - Order Fulfillment Service
- [Order-Service] - Controller
- [Order-Service] - Order Query Service
- [Order-Service] - DEMO
- [RESILIENT] - Handling Service Unavailability
- [RESILIENT] - Handling Intermittent Service Issues
- Resilient Design Patterns
7. Server Sent Events (SSE)
- Sink Config
- Pushing Item Via Sink
- Exposing Event Stream
- Streaming API DEMO
- Bootstrap Links
- Creating Front-End
- Price Filter Implementation
- SSE - DEMO
8. Unit / Integration Testing
- WebTestClient - Introduction
- Creating Simple Test with WebTestClient
- Fluent Assertion
- @WebFluxTest
- Why Mocking?
- List Response
- Streaming Response
- Passing Parameters
- Post Test
- Controller Advice
- Router Function
- WebTestClient - Bind To Server