Development

Programación reactiva con Spring WebFlux Parte 2

Publicado por
Felipe Choque
Programación reactiva con Spring WebFlux Parte 2
Escrito por
Felipe Choque
Publicado en
March 12, 2024
Tiempo de lectura
Categoría
Development

Lee la Parte 1 aquí Programación Reactiva Spring Boot – Parte 1

Que es WebFlux y como nos ayuda a hacer más fácil la programación reactiva con SpringBoot.

WebFlux es un framework parte de Spring 5 que está basado en Project Reactor el cual nos ofrece anotaciones para poder implementar aplicaciones reactivas. WebFlux es una alternativa al tradicional Spring MVC ampliamente usado hasta hoy. WebFlux nos ofrece las siguientes características.

•  Non_blocking thread: los hilos que pueden trabajar de manera concurrente sin tener que esperar a la tarea previa.

•  Reactive Stream API: Nos ofrece la posibilidad de crear streams asíncronos que no son bloqueantes.

•  Asyncronus data processing: Permite procesar la data de manera asíncrona sin interrumpir la ejecución de la aplicación principal.

Con WebFlux se pueden crear dos formas de implementaciones reactivas, una mediante anotaciones de SpringBoot en el controlador muy similar al conocido y clásico Spring MVC, pero ahora haciendo uso de los streams reactivas Flux y Mono y la segunda es mediante programación funcional haciendo uso de “functional routing and Handling”. La gran diferencia está en que la segunda esta activa desde que se inicia la aplicación hasta que esta es finalizada y no requiere decirle a la aplicación mediante anotaciones donde tiene que manejar las solicitudes como se hace usualmente con la anotación @RestController en el clásico Spring MVC.

•  Ahora empecemos con la parte práctica:

Para esto usaremos “spring initializr” en el cual crearemos el proyecto y seleccionaremos las siguientes dependencias.

spring initializr

spring initializr dependencies

Para esta parte técnica usaremos una sola entidad para hacer más entendible como hacer una API usando Flux y Mono. La entidad será “Book” y tiene la siguiente estructura:

•  La tabla

create table

Para efectuar las operaciones sobre la base de datos creamos el repositorio con la ayuda de R2DBC, esto nos ayudara a hacer consultas sobre la base de datos y se crea de la siguiente manera:

attach icon
Adjuntar archivo
máximo: 10MB
Descarga el archivo haciendo click en el botón
Click aquí
¡Ups! Algo salió mal al enviar el formulario.

Download it for FREE here! 🇺🇸

Enter your details in the following form and get the full report.
attach icon
Adjuntar archivo
máximo: 10MB
Download the file by clicking the button
Click here
Oops! Something went wrong while submitting the form.

Crea tu propio manual de marca con esta plantilla gratuita.
¡Organiza tus activos de diseño de forma más eficiente!

Es
Eng