Description
This course is structured to give you both the theoretical and coding aspect of Reactive Programming and Reactive RestFul APIs using Spring WebFlux.
If you are looking forward to learn the below listed things:
- What is Reactive Programming ?
- Write Reactive Programming code with Spring WebFlux.
- Write Reactive Programming code with DB.
- Building Reactive RestFul APIs with Spring WebFlux
Then this is the right course for you. This is a pure hands on oriented course where you will be writing lots of code.
By the end of this course you will have the complete understanding of coding and implementing a Reactive API using Spring WebFlux.
Why Reactive Programming ?
- This section highlights about the need for reactive programming and explains in detail about the current execution model in spring-mvc.
- This sections explains about the drawbacks in spring-mvc.
- This section explains about the concurrency model in spring-mvc.
What is Reactive Programming?
- This section talks about “What is Reactive Programming ?”
- How Reactive programming works in a nutshell using a simple example.
- This section will give you all an introduction to Reactive Streams Specification.
- This section will give all an introduction to “Reactive Libraries” that are out there.
Getting started with Project Reactor
- This section will give you all the fundamentals of Project Reactor and explore the project reactor using some examples.
- This section covers the Reactive Types Flux and Mono in detail.
Setting up the Project for this course
- In this section we will set up the project for this course using the Spring Intializr website.
Reactive Programming (Flux and Mono) – Hands on + Junit Testing
- In this section we will explore about how Flux and Mono works via code.
- We will do live coding on how to write Junit test cases using Flux and Mono.
- We will explore lot of different operators in Flux and Mono.
Build the first Non Blocking RESTFUL API using Annotated Controllers – Hands On
- In this section we will build the first non blocking API using the annotated controllers.
- This section covers the fundamentals of how the reactive API works.
- This sections also covers the coding aspect of how to return a Flux/Mono from an end point.
- This section also covers how to write JUNIT test cases using WebTestClient.
Build Non Blocking RESTFUL API using Functional Web – Hands On
- In this section we will build the non blocking API using the Functional Web Module.
- This sections explains about the RouterFunction and HandlerFunction which forms the foundation for Function Web Module.
- This section also covers how to write JUNIT test cases using WebTestClient.
Spring WebFlux & Netty – Execution Model
- This section explains about the different layers behind WebFlux to serve a HTTP Request/Response.
- This sections covers the concepts of NETTY such as Channel, EventLoop and some of the technical aspects of Netty.
Overview of the Reactive API
- This section will give you an Overview of the Reactive API that we are going to build as part of this course.
Reactive Programming in Databases – MongoDB – Hands On
- In this section we will learn about how to write the reactive programming code with MongoDB.
- Define the Item Document for the project.
- This section covers about how to configure different profiles in Spring Boot.
- In this section we will set up the ItemReactive Mongo DB adapter.
- This section also covers how to write JUNIT test cases for the reactive repository.
Build the Item Reactive API Endpoint – Using RestController
- In this section we will learn about how to code the Item CRUD Reactive API using the @RestController approach.
- This section also covers how to write automated tests using JUNIT and the non blocking test client WebTestClient.
Build the Item Reactive API Endpoint – Using Functional Web
- In this section we will learn about how to code the Item CRUD Reactive API using the Functional Web approach.
- This section also covers how to write automated tests using JUNIT and the non blocking test client WebTestClient.
Build Non Blocking Client using WebClient
- In this section we will explore the techniques to interact with Reactive API using the WebClient.
- Learn the techniques to Invoke the Reactive API using exchange() and retrieve() methods.
- We will explore the GET, PUT, POST and DELETE operations using the WebClient.
Handling Exceptions in WebFlux – RestController
- In this section we will code and explore different approaches to handle the exceptions/errors that occurs in the reactive api that’s built using RestController.
- Handle exceptions using @ExceptionHandler and @ControllerAdvice.
- This section also covers how to write JUNIT test cases for the Exception scenarios.
Handling Exceptions in WebFlux – Functional Web
- In this section we will code and explore different approaches to handle the exceptions/errors that occurs in the reactive api that’s built using Functional Web.
- Handle exceptions using WebExceptionHandler.
- This section also covers how to write JUNIT test cases for the Exception scenarios.
WebClient – Exception Handling
- In this section we will code and explore how to handle the exceptions using the WebClient.
- Learn the techniques to handle the exceptions using exchange() and retrieve() methods.
Streaming Real Time Data using WebFlux – Server Side Events (SSE)
- In this section we will code and learn about build an endpoint for Streaming RealTime Data using Mongo DB and Spring WebFlux.
- This section covers about the Tailable Cursors and Capped Collections in Mongo DB.
- Build a Non Blocking Streaming Endpoint and interact with the Mongo DB using the @Tailable annotation.
- Learn to write Automated Tests using JUNIT for the Streaming Endpoints (SSE).
Who this course is for:
- Anyone who is willing to learn and build Reactive APIs using Spring WebFlux
Requirements
- At least JDK 8
- Any one of the IDE like IntelliJ, Eclipse, etc.,
- Spring Boot Knowledge is a must to make the most out of this course
Last Updated 10/2021
Download Links
Direct Download
Build Reactive MicroServices using Spring WebFlux/SpringBoot.zip (6.3 GB) | Mirror