Reactive Applications with Spring WebFlux Framework
Creating a Secure, Reactive and non-blocking REST API with Spring WebFlux
Lo que serás capaz de hacer
In this video course you will learn how to create Reactive and Non-blocking applications with Spring WebFlux framework. This course is perfect for beginners and will start with the basics of Spring WebFlux. You will learn: - What Reactive programming is and how it is different from an imperative programming style, - The key differences between the traditional, blocking Spring WebMVC and the non-blocking, Reactive Spring WebFlux applications, - To create reactive RESTful Web Service application that handles different types of HTTP requests, - Write and read information from a database in a reactive, non-blocking way. As you progress through the course, you will learn how to: - Use Spring Security to protect your Spring WebFlux application, - Implement user login( authentication ), - Generate and use JSON Web Tokens (JWT) for secure communication - Validate JWT and read token claims, - Use method-level security annotations to perform authorization. You will also learn how to add pagination and read database records in smaller chunks to improve performance. All important concepts are explained using simple, easy-to-follow slides . The source code is provided , so you can download it and follow along with each lesson. This course also includes helpful quiz questions to test your knowledge as you go. Plus, there is an active Q&A section where you can get answers to all your questions By the end of this course, you’ll be able to create fast, secure, and scalable Reactive applications with Spring WebFlux.
- What Reactive Programming is
- Architecture of Reactive Spring Boot application
- Create Reactive Spring Boot application
- Write and read from a database in reactive/non-blocking way
- Use Spring Security in reactive Spring WebFlux application
- Implement user authentication in reactive application
Temario
UNIDAD 1 - Introduction · 1 leccionesUNIDAD 1 - Introduction
UNIDAD 1 - Introduction
- Introduction
UNIDAD 2 - Introduction to traditional(Blocking) Applications · 4 leccionesUNIDAD 2 - Introduction to traditional(Blocking) Applications
UNIDAD 2 - Introduction to traditional(Blocking) Applications
- Traditional(Blocking) applications
- Traditional(Blocking) Thread per Request Architecture
- Solutions to Thread per Request Problem
- Quiz: Traditional Spring WebMVC applications
UNIDAD 3 - Introduction to Reactive Programming · 8 leccionesUNIDAD 3 - Introduction to Reactive Programming
UNIDAD 3 - Introduction to Reactive Programming
- Spring Framework and Reactive Streams Specification
- Introduction to Reactive programming
- Introduction to Data Streams
- Back pressure
- Data Streams - A quick demo
- Reactive Application Overview
- Introduction to Spring WebFlux
- Quiz: Introduction to Reactive Programming
UNIDAD 4 - Creating a Reactive Spring Boot application project · 6 leccionesUNIDAD 4 - Creating a Reactive Spring Boot application project
UNIDAD 4 - Creating a Reactive Spring Boot application project
- Java Development Environment & IntelliJ IDEA Ultimate Edition Licence
- Creating a new Reactive Spring Boot project
- Configure H2 database support in Reactive Spring Boot application
- Creating a Database schema
- Configuration class to start and stop H2 console web server
- Login to H2 database
UNIDAD 5 - Presentation layer: Accept HTTP request and return HTTP response · 12 leccionesUNIDAD 5 - Presentation layer: Accept HTTP request and return HTTP response
UNIDAD 5 - Presentation layer: Accept HTTP request and return HTTP response
- Introduction to presentation layer
- @RestController: Creating and configure the RestController class
- @PostMapping: Handle HTTP Post request
- @RequestBody: Reading HTTP Request Body
- @Validated: Validating HTTP Request body
- Trying if validation works
- Mono: Returning a single String value in HTTP Response body
- Mono: Returning a User object in HTTP Response body
- ResponseEntity: Returning custom HTTP status code
- @GetMapping: Handle HTTP GET Request
- Flux: Returning multiple objects in HTTP Response body
- @RequestParam: Reading URL Query String Parameters
UNIDAD 6 - Data layer: Working with a database · 4 leccionesUNIDAD 6 - Data layer: Working with a database
UNIDAD 6 - Data layer: Working with a database
- Introduction to data layer
- Creating database schema for Users table
- Creating User Entity class
- Spring Data R2DBC: Creating ReactiveCrudRepository
UNIDAD 7 - Service layer: Business logic · 7 leccionesUNIDAD 7 - Service layer: Business logic
UNIDAD 7 - Service layer: Business logic
- Introduction to Service layer in Reactive Spring WebFlux application
- Creating a Service class
- Implementing the createUser() method
- Invoke createUser() method from a method in the Rest Controller class
- Create User: Trying how it works
- Returning Details of a Single User
- Get User: Trying how it works
UNIDAD 8 - List all users. Pagination in Reactive Spring WebFlux REST application. · 5 leccionesUNIDAD 8 - List all users. Pagination in Reactive Spring WebFlux REST application.
UNIDAD 8 - List all users. Pagination in Reactive Spring WebFlux REST application.
- Data layer: Find all records + pagination.
- Service layer: Find all records + pagination.
- Presentation layer: Find all records + pagination.
- Trying how it works
- Enabling SQL Query Logging in reactive Spring WebFlux application
UNIDAD 9 - Error Handling in Reactive Spring WebFlux applications · 7 leccionesUNIDAD 9 - Error Handling in Reactive Spring WebFlux applications
UNIDAD 9 - Error Handling in Reactive Spring WebFlux applications
- Handling one specific exception with onErrorMap() in Spring WebFlux
- Handling multiple exceptions with onErrorMap() in Spring WebFlux
- Introduction to Global Exception Handling in Spring
- @RestControllerAdvice and @ExceptionHandler in reactive application
- Trying how Controller Advice works
- Formatting Bean validation errors in Spring WebFlux application
- Trying how custom bean validation error responses work in Spring WebFlux
UNIDAD 10 - Unprotected API endpoints - Security Security in Reactive WebFlux. · 4 leccionesUNIDAD 10 - Unprotected API endpoints - Security Security in Reactive WebFlux.
UNIDAD 10 - Unprotected API endpoints - Security Security in Reactive WebFlux.
- Adding Spring Security to reactive Spring WebFlux application
- @EnableWebFluxSecurity and Spring Security configuration class
- Granting access to public API endpoints in reactive Spring WebFlux application
- Trying how it works
UNIDAD 11 - Encrypting User's Password - Spring Security in Reactive Spring WebFlux. · 2 leccionesUNIDAD 11 - Encrypting User's Password - Spring Security in Reactive Spring WebFlux.
UNIDAD 11 - Encrypting User's Password - Spring Security in Reactive Spring WebFlux.
- Encrypting user's password with BCryptPasswordEncoder
- Trying if password encryption works
UNIDAD 12 - Implement User Authentication(Login). Spring Security in Reactive Spring WebFlux · 14 leccionesUNIDAD 12 - Implement User Authentication(Login). Spring Security in Reactive Spring WebFlux
UNIDAD 12 - Implement User Authentication(Login). Spring Security in Reactive Spring WebFlux
- Creating Authentication Request class
- Creating /login API endpoint
- Accessing /login API endpoint
- Reactive UserDetailsService
- Reactive AuthenticationManager
- Creating Authentication Service
- Implementing authenticate() method
- Invoke AuthenticationService from AuthenticationController
- Register Reactive Authentication Manager with Authentication Filter
- Trying if authenticate() method works
- onErrorReturn - Handle Unsuccessful User Authentication
- Other onError operators
- Global Error Handling - Handle Unsuccessful User Authentication
- Handle Unsuccessful User Authentication - Trying how it works
UNIDAD 13 - Generating JSON Web Token(JWT) · 5 leccionesUNIDAD 13 - Generating JSON Web Token(JWT)
UNIDAD 13 - Generating JSON Web Token(JWT)
- Introduction to JWT Authentication in reactive Spring WebFlux applications
- Adding JWT dependencies
- Creating Service class for generating and validating JWT
- Generating JWT access token
- Previewing JWT Access token
UNIDAD 14 - Validating JSON Web Token(JWT) in Reactive Spring WebFlux applications · 7 leccionesUNIDAD 14 - Validating JSON Web Token(JWT) in Reactive Spring WebFlux applications
UNIDAD 14 - Validating JSON Web Token(JWT) in Reactive Spring WebFlux applications
- Creating reactive JWT Authentication Filter
- Extracting JWT from HTTP request
- Validating JWT access token in Reactive Spring WebFlux application
- Handle Successful or Unsuccessful JWT Authentication
- Extracting Subject claim from JWT token
- Adding JWT Authentication Filter to the Spring Security filter chain
- Trying how JWT Authentication works in Reactive Spring WebFlux REST API
UNIDAD 15 - Method-level Security in Reactive Spring WebFlux applications · 8 leccionesUNIDAD 15 - Method-level Security in Reactive Spring WebFlux applications
UNIDAD 15 - Method-level Security in Reactive Spring WebFlux applications
- Introduction to Method-level security
- Authentication vs Authorization
- Enable Method-level Security in Reactive Spring WebFlux application
- @PreAuthorized annotation
- Trying how @PreAuthorize annotation works
- Handle AuthorizationDeniedException
- @PostAuthorized annotation
- Trying how @PostAuthorize annotation works
UNIDAD 16 - Server-Sent Events(SSE) in Reactive Spring WebFlux application · 12 leccionesUNIDAD 16 - Server-Sent Events(SSE) in Reactive Spring WebFlux application
UNIDAD 16 - Server-Sent Events(SSE) in Reactive Spring WebFlux application
- Introduction to Server-Sent Events(SSE)
- Demo API Endpoint for Server-Sent Events
- Trying how SSE work
- Broadcasting events to multiple clients
- Moving code to a Service layer
- Introduction to a Sink
- Creating a new Sink
- Implementing streamUser() method
- Configure CORS in Reactive Spring WebFlux application
- Creating a Javascript client to consume Server-sent events
- Implementing Javascript client that consumes Server-Sent Events
- Trying how Server-Sent Events work in Reactive Spring WebFlux application
UNIDAD 17 - Reactive WebClient · 13 leccionesUNIDAD 17 - Reactive WebClient
UNIDAD 17 - Reactive WebClient
- Introduction to a Reactive WebClient
- WebClient documentation
- Introduction to Albums Microservice & Its SourceCode
- Creating WebClient
- Conditionally fetch information from external service
- Fetching data from external service
- Include Authorization Header with JSON Web Token
- Configure WebClient to Handle Errors
- Trying how reactive WebClient works
- Introduction to sending other HTTP requests with reactive WebClient
- Sending HTTP POST request
- Sending HTTP PUT request
- Sending HTTP DELETE request
UNIDAD 18 - Testing the Web Layer in Reactive Spring WebFlux Applications · 13 leccionesUNIDAD 18 - Testing the Web Layer in Reactive Spring WebFlux Applications
UNIDAD 18 - Testing the Web Layer in Reactive Spring WebFlux Applications
- Introduction to Unit Testing in Spring Boot applications
- Introduction to Integration Testing in Spring Boot applications
- Creating a Test class using IntelliJ
- Creating a Test class manually
- @WebFluxTest annotation
- @MockitoBean annotation
- Creating a new test method
- Using WebTestClient to send HTTP POST request and validate response
- Mock object and verify that the method was invoked one time only
- Stub method response
- @Import - Import test Spring Security Configuration
- Testing a Negative Scenario in Spring WebFlux - Bean validation
- Testing Internal Server Errors in a Spring WebFlux Application
UNIDAD 19 - Unit Testing Service Layer in Reactive Spring WebFlux application · 8 leccionesUNIDAD 19 - Unit Testing Service Layer in Reactive Spring WebFlux application
UNIDAD 19 - Unit Testing Service Layer in Reactive Spring WebFlux application
- Introduction to Unit Testing of a Service Layer class in Reactive Spring app
- Creating a new test method
- Mocking Dependencies with Mockito's @Mock annotation
- Arrange section. Stub method response with Mockito
- Assert section. Using StepVerifier for Assertions in Reactive Spring WebFlux app
- Verify event is emitted to a Sink
- Testing getUserById with Existing User
- Testing getUserById with Included Albums
UNIDAD 20 - Testing Data Layer in Reactive Spring WebFlux application · 11 leccionesUNIDAD 20 - Testing Data Layer in Reactive Spring WebFlux application
UNIDAD 20 - Testing Data Layer in Reactive Spring WebFlux application
- Testing Data Layer in Reactive Spring WebFlux app - Introduction
- New test class and @DataR2dbcTest annotation
- @TestInstance annotation
- @BeforeAll annotation and DatabaseClient
- @AfterAll annotation and the tearDown() method
- Testing that a user with provided email address exists
- Testing findByEmail with a Non-Existent Email (Negative Scenario)
- Testing findAllBy() with Pagination
- Testing findAllBy() with Pagination (Negative scenario)
- Testing save() When an Existing Email is Provided (Negative scenario)
- Testing the save() Method with a Valid User
UNIDAD 21 - What's next? · 1 leccionesUNIDAD 21 - What's next?
UNIDAD 21 - What's next?
- Bonus
Tu certificado lo emite la SEP, no solo una plataforma
Al demostrar la competencia recibes un certificado emitido por la Secretaría de Educación Pública a través del Gobierno del Estado de México: un documento oficial que puedes presentar con confianza ante cualquier empleador o institución.
Tu certificado con INEC
- Lo emite la Secretaría de Educación Pública (SEP), a través del Gobierno del Estado de México
- Documento oficial con folio verificable en línea
- Lo otorga la Universidad Tecnológica Fidel Velázquez
Otras plataformas en línea
- Constancia privada emitida por la misma plataforma
- Solo acredita horas cursadas o asistencia
- Sin respaldo de una autoridad educativa
Tu itinerario, de la inscripción al certificado
- 1
Inscripción con pago único
Pagas $2,800 MXN una sola vez y entras de inmediato al curso.
- 2
Estudias a tu ritmo
21 unidades con videos, lecturas y actividades, disponibles 24/7 durante 12 meses.
- 3
Cuestionarios por unidad
2 cuestionarios para comprobar lo aprendido.
- 4
Certificado
Emitido por la SEP a través del Gobierno del Estado de México, con folio verificable.
Un certificado oficial de la SEP
- Emitido por la Secretaría de Educación Pública (SEP), a través del Gobierno del Estado de México. No es una constancia privada: es un documento oficial, y ese respaldo marca la diferencia frente a otras plataformas en línea.
- Contenido impartido por Sergey Kargopolov.
- Folio y QR verificables para compartirlo con quien te contrate.
Empieza hoy, a tu ritmo
Un solo pago y acceso inmediato al curso completo durante 12 meses.
- 21 unidades · 152 lecciones · 60 h
- 12 meses de acceso
- 2 cuestionarios de evaluación
- Certificado emitido por la SEP (Gob. del Estado de México) con folio verificable
Sobre tu inscripción
¿Cómo es el pago?
Un solo pago de $2,800 MXN. No hay mensualidades ni cargos recurrentes.
¿Cuánto tiempo tengo acceso?
12 meses desde tu inscripción, 24/7, para avanzar a tu ritmo.
¿Quién imparte el contenido?
El curso es impartido por Sergey Kargopolov; INEC gestiona tu inscripción, evaluación y certificado.
¿Qué pasa cuando vence mi acceso?
Puedes renovar tu cuenta tú mismo desde la plataforma, sin trámites ni esperas.


