Endpoints fonctionnels Endpoints fonctionnels

Spring WebFlux inclut un modèle de programmation léger et fonctionnel dans lequel les fonctions sont utilisées pour acheminer et gérer les requêtes, et les contrats d’interface sont conçus pour l’immuabilité.

Il s’agit d’une alternative au modèle de programmation basé sur les annotations.

1. HandlerFunction

Les requêtes HTTP entrantes sont gérées par un HandlerFunction, qui prend un ServerRequest et renvoie un Mono<ServerResponse>. Si vous connaissez le modèle de programmation basé sur des annotations, une fonction de handler est l’équivalent d’une méthode @RequestMapping. @RequestMapping

ServerRequest et ServerResponse sont des interfaces immuables qui offrent un accès convivial pour le JDK 8 aux messages HTTP sous-jacents avec une contre-pression non bloquante Reactive Streams.

La requête expose le body en tant que Flux ou Mono. La réponse accepte tous les flux réactifs en Publisher pour le body.

ServerRequest donne accès à divers éléments de requête HTTP, comme la méthode, l’URI, les paramètres de requête et les en-têtes (via une interface séparéeServerRequest.Headers).

L’accès au body est fourni par les méthodes bodyTo*. Par exemple, voici comment extraire le corps de la requête en Mono<String> :

Mono <String> chaîne...
Pour consulter la suite, découvrez le livre suivant :
couv_EPREAJASP.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Exemple de service REST réactif avec WebFlux et la version réactive de MongoDB
Suivant
Tests spécifiques à WebFlux