Course Code: sprwebflux
Duration: 21 hours
Overview:

___ is ___.

This instructor-led, live training (online or onsite) is aimed at beginner-level / intermediate-level / advanced-level ___ who wish to use ___ to ___.

By the end of this training, participants will be able to:

  • Install and configure ___.
  • ___. 
  • ___. 
  • ___. 

Format of the Course

  • Interactive lecture and discussion.
  • Lots of exercises and practice.
  • Hands-on implementation in a live-lab environment.

Course Customization Options

  • To request a customized training for this course, please contact us to arrange.
Course Outline:

Basics of Reactive Programming 
1. Traditional Rest API vs Reactive Rest APIs 
2. Advantages of Reactive Rest API
3. Why Reactive Programming 
4. Common Reactive libraries 
5. Event driven stream 


Using Spring Web Flux in Reactive Programming : A brief intro 
1. Maven dependency for Web flux 
2. Creating Spring boot app with Spring web flux 
3. Comparison with traditional rest apis 
4. Introduction to Mono and Flux 
5. Understanding the Spring Web Client 
6. Examples of basic calls using web client 
7. Checking logs with Flux 
8. Performing unit tests with Spring web flux 


Mono & Flux: Deep dive 
1. Concatenating Values  
2. Empty Flux & Mono 
3. Filtering reactive stream 
4. Performing transformations such as List to Flux, Array to Flux and Stream to Flux 
5. Transforming Reactive Stream with Map : comparison, flat map 
6.  Combining Reactive streams 
7. Optional to Mono 


Schedulers 
1. Understanding schedulers 
2. Different scheduler implementations: single, parallel, immediate & bounded elastic schedulers 


Back pressure 
1. Understanding back pressure mechanism  
2. Practical examples 
3. Request and cancel 


Functional Web framework 
1. Basics of functional web 
2. Handler and Router functions 
3. Building reactive rest application using functional web 
4. Using Single & Collection resources 
5. Composing and testing routes 
6. Adding multiple routes 


CRUD Rest APIs: Spring Data R2DBC with MYSQL 
1. Dependencies for Spring Data R2DBC 
2. Configuring Spring Data Reactive, R2DBC to work with MySQL Database 
3. Defining Data Models and Repository interfaces 
4. Creating Spring Rest Controller to process HTTP requests 
5. Different operations: Get, Post, Put & Delete 
6. Http headers 
7. Transactions in Spring Web flux 


Error & Exception Handling 
1. Strategies for handling errors 
2. Throwing exception vs error in Web flux 
3. Global exception handling 
4. Best practices