1. Définition d’un Middleware

C’est vrai que dit comme ça, un middleware, c’est un peu compliqué de se représenter ce que c’est. Pourtant, Express est en grande partie basé dessus, et c’est un concept essentiel à connaître.

Alors, qu’est-ce qu’un « middleware » ?

Eh bien les Middlewares sont simplement des fonctions JavaScript, capable d’interagir avec les requêtes entrantes et sortantes de votre API Rest. Voici comment ça se passe :

Le middleware A permet d’appliquer un traitement aux requêtes HTTP entrantes et sortantes de notre API Rest.

Le middleware A permet d’appliquer un traitement aux requêtes HTTP entrantes et sortantes de notre API Rest.

Comme nous pouvons le deviner sur ce schéma, les Middlewares permettent de factoriser les comportements communs des requêtes entrantes ou sortantes d’une API Rest. Et ils fonctionnent « par-dessus » vos points de terminaisons existants !

Ce qui rend les Middlewares un peu spéciaux, c’est qu’ils peuvent accéder aux objets Request (req) et Response (res) d’Express. Cela ouvre la possibilité à tout un tas de cas d’utilisations possibles. Puis, une fois le traitement du Middleware terminé, il faut l’indiquer à Express grâce à la fonction next.

Les éléments reqres et next nous sont transmis par Express directement. Un Middleware ressemblera donc à ceci :

const middleware = (req, res, next) => {
 // Traitement quelconque,
 // On peut intervenir sur les objets 'req' et 'res'.
 // Puis on indique à Express que le traitement est terminé:
 next()
}

Finalement, les Middlewares ne semblent pas si complexes que ça. 🙂

En tout cas, j’espère que vous voyez un peu mieux de quoi il s’agit. Nous verrons prochainement les cas d’utilisations les plus courants des Middlewares !

Si vous n’êtes pas sûr de comprendre ce que sont les Middlewares, voyez-les simplement comme des fonctions JavaScript qui ont accès à certaines données d’Express.