Home Courses Instructor Labs

Build Reactive RESTFUL APIs using Spring Boot/WebFlux

(45 Ratings) 3198 Students Enrolled
Created By V ishnu M Last Updated Sat, 14-Mar-2020 English
  • Course Duration
    9 Hours
  • Mode of Training
    Self-Paced
  • Lessons
    83 Lessons
  • Placement Assistance
    Guaranteed
$ 199.99 $ 9.99 95% off 100% Money Back Guarantee
12k+ satisfied learners Read Reviews
What Will I Learn?
  • What problems that Reactive Programming trying to solve?
  • Reactive Programming using Project Reactor
  • Learn how to write Reactive Programming with Spring
  • To write Reactive programming code with DB
  • To build a Reactive API from scratch
  • To write end to end Automated test cases using Junit for the Reactive API

Requirements
  • Basic Java Programming knowledge
  • Good hands-on working with Eclipse, IntelliJ
  • Spring boot knowledge is a must
+ View More
Description

This course gives you the coding aspect of Reactive programming and Reactive RESTful using Spring WebFlux.

If you are looking for the concept to learn, then this course is especially made for you:

  • What is Reactive Programming?
  • How to write Reactive Programming code with Spring WebFlux.
  • To write Reactive programming code with DB.
  • How to build Reactive RESTful APIs with Spring WebFlux.

By the end of this course, you will be learning how to code and implement a Reactive API using Spring WebFlux.

The following contents are covered in this course:

  • Why Reactive Programming?
  • What is Reactive Programming?
  • Getting started with Project Reactor
  • How to set up the project for this course
  • Reactive Programming Flux + Mono and Junit Testing
  • To build the non blocking Restful API using Functional web
  • Spring WebFlux & Netty with execution model
  • Overview of the Reactive API
  • Reactive Programming in Databases (MongoDB)
  • To build the Reactive API endpoint using RestController
  • To build the Item Reactive API endpoint using Functional web
  • To build non blocking client using WebClient
  • How to handle exceptions in WebFlux using RestController
  • How to handle exceptions in WebFlux using FunctionalWeb
  • Webclient - Exceptional Handling
  • How to stream Real Time data using WebFlux using Server Side Events (SSE)
Curriculum For This Course
83 Lessons 9 Hours
  • Why Reactive Programming ? 00:08:59 Preview
  • Traditional Rest API Design-How it works 00:07:43
  • What is Reactive Programming 00:03:34 Preview
  • Reactive Streams Specification 00:07:58
  • Reactive Libraries 00:09:31
  • Introduction to Project Reactor 00:01:20 Preview
  • Reactor Types Flux and Mono 00:07:31
  • Project SetUp 00:07:11
  • Flux-How it works? 00:12:15
  • Flux -Learn to write Junit Tests 00:10:17
  • Mono-How it works and write Junit Tests 00:04:43
  • Flux/Mono-Exploring Factory methods 00:16:39
  • Filtering a Reactive Stream 00:04:27
  • Transforming a Reactive Stream map 00:08:27
  • Transforming a Reactive Stream flatMap 00:17:16
  • Combinning Reactive Stream 00:12:37
  • Handling Errors in a Reactive Stream 00:16:27
  • Infinite Reactive Stream 00:10:59
  • Back Pressure How it works 00:14:23
  • Push/Pull Communication Model 00:01:08
  • Hot vs Cold Reactive Streams 00:08:10
  • Virtualizing Time in Junit 00:08:59
  • How to get help? 00:01:55
  • Introduction to Spring Boot 2 00:03:16 Preview
  • Build the simple Non Blocking API Flux 00:09:33
  • JUNIT: Test for Non Blocking API using WebTestClient 00:15:55
  • Junit :Test for infinite Non Blocking Sequence API using WebTestClient 00:08:58
  • Build the simple Non Blocking API Mono 00:04:07
  • Introduction to Functional Web in Spring WebFlux 00:02:13
  • Build the simple Non Blocking API using Handler and Router Functions 00:10:12
  • JUNIT for Functional EndPoint using WebTestClient 00:08:09
  • Spring WebFlux Behind the Scenes 00:07:38
  • Introduction to Netty Channel EventLoops 00:06:57
  • Netty End to End Threads Execution Model 00:06:31
  • Application Overview 00:01:54
  • Setting up Mongo DB 00:05:18 Preview
  • Spring Profiles 00:09:35
  • Build the Item Document 00:03:02
  • Build the Reactive Item Mongo Repository 00:02:01
  • Reactive Mongo Repository operations using JUNIT Read Part1 00:05:09
  • Reactive Mongo Repository operations using JUNIT Insert 00:05:04
  • Reactive Mongo Repository operations using JUNIT Update 00:04:50
  • Reactive Mongo Repository operations using JUNIT Delete 00:08:24
  • Build Artifact 00:06:12
  • Get All Items 00:06:48
  • Initialize the data using Command Line Runner 00:08:23
  • Get All Items-JUNIT Test using Web Test Client Part 1 00:09:34
  • Get All Items-JUNIT Test using Web Test Client Part 2 00:05:39
  • Get a Single Item 00:06:56
  • Create an Item Endpoint 00:06:09
  • Delete an Item Endpoint 00:04:32
  • Upate an Item Endpoint 00:05:18
  • Upate an Item Endpoint Junit 00:09:22
  • Setting up the Router Function and Handler Function for Item Reactive API 00:02:17
  • Get All Items Functional Endpoint 00:05:12
  • Get All Items JUNIT Test using WebTestClient 00:02:54
  • Get a Single Item Functional Endpoint 00:07:37
  • Create an Item-Functional Endpoint 00:04:36
  • Delete an Item-Functional Endpoint 00:03:30
  • Update an Item-Functional Endpoint 00:06:38
  • Setting up the Item WebClient Project 00:00:16
  • Explore the retrieve and exchange in Webclient 00:10:52
  • Passing Path Variable using Web Client 00:06:26
  • Post call using Web Client 00:05:39
  • Put call using Web Client 00:06:24
  • Delete call using Web Client 00:03:53
  • Handling Exceptions using @ Exception Handler 00:08:13 Preview
  • Handling Exceptions using @ Controller Advice 00:03:06
  • Handling Exceptions in Controller JUNIT 00:02:47
  • Default Exception Behavior Functional Web 00:05:01
  • Handling Exceptions using Abstract Error Web Exception Handler 00:06:41
  • Handling Exceptions in Functional Web JUNIT 00:02:53
  • Handling Errors in Web Client-retrieve() 00:08:07
  • Handling Errors in WebClient-exchange() 00:05:08
  • What is a Streaming EndPoint 00:02:34
  • Setting up the Capped Collection-MongoDB 00:05:08
  • Build Tailable Cursor using Tailable Annotation 00:02:28
  • Initialize the data using Command Line Runner 00:06:44
  • Build the Stream Endpoint using Controller 00:05:28
  • JUNIT Test for Streaming endpoint using Controller 00:07:54
  • Build the Stream Endpoint using Functional Web 00:05:37
  • JUNIT Test for Streaming endpoint using Functional Web 00:02:39

Build Reactive RESTFUL APIs using Spring Boot/WebFlux