6. Hello, Express !

Maintenant que nous avons Express d’installé, on va pouvoir attaquer nos développements en tant quel tel. Et bien sûr, on va commencer par le traditionnel « Hello, World ! » avec Express :

Notre premier « Hello, Express ! »

Et pour obtenir ce fameux Hello, Express !, il va falloir définir un premier point de terminaison au sein de notre API Rest, qui sera chargé d’afficher ce message.

Nous allons aussi en profiter pour dire au revoir à notre Hello, Node !, car désormais c’est Express qui va prendre le relais.

Voici le code que j’obtiens de mon côté, pour app.js :

const express = require('express')
 
const app = express()
const port = 3000
 
app.get('/', (req, res) => res.send('Hello, Express!'))
 
app.listen(port, () => console.log(`Notre application Node est démarrée sur : http://localhost:${port}`))

Il y a beaucoup de nouveaux éléments dans ce code, mais il ne faut pas avoir peur. C’est bon signe, on attaque les choses sérieuses. 😉

Nous allons décortiquer ce code étape par étape, pour bien comprendre ce qu’il se passe :

  • D’abord, à la ligne 1, on récupère le paquet Express dans notre code. Pour cela, on utilise le mot-clef require, qui indique à Node.js d’aller chercher notre dépendance dans le dossier node modules. Pratique !
  • Ensuite, à la ligne 3, on crée une instance d’une application Express, grâce à la méthode express(). Pour être plus concret, il s’agit du petit serveur web sur lequel va fonctionner notre API Rest.
  • À la ligne 4, on définit une simple constante port avec la valeur 3000. C’est le port sur lequel nous allons démarrer notre API Rest par la suite.
  • À la ligne 6, on définit notre tout premier point de terminaison, ou endpoint. On s’y attarde juste après, c’est vraiment le ♥️ d’Express.
  • Enfin à la ligne 8, on démarre l’API Rest sur le port 3000, et on affiche un message de confirmation dans le terminal de commande, grâce à la méthode listen fournie par Express.

Attardons-nous sur ce code, c’est vraiment ce qui fait le coeur d’Express :

app.get(
 '/',
 (req, res) => res.send('Hello, Express!')
)

Dans ce code, chaque élément est important pour définir notre point de terminaison :

  • La méthode de la requête : GET. C’est ce qu’on définit à la toute première ligne, grâce à la méthode get(). Cette méthode prend en entrée 2 paramètres :
    • Le premier argument est le chemin de la requête : ‘/’.
    • Le deuxième argument est une fonction dont le rôle est de fournir une réponse au client, lorsque notre point de terminaison est appelé. Cette fonction a elle-même deux arguments en entrée, fournis par Express: req et res. L’argument req permet de récupérer un objet Request, correspondant à la requête reçue en entrée par notre point de terminaison. Et res correspond à la Response que l’on doit renvoyer, c’est-à-dire un objet d’Express représentant une réponse.

Dans notre cas, nous utilisons la méthode send de l’objet Response, afin de retourner le message « Hello, Express ! » au client. Voilà, je ne sais pas pour vous, mais cela paraît un peu plus clair tout ça déjà.

Ensuite, démarrer votre API Rest avec la commande npm run start.

Puis rendez-vous dans votre navigateur, à l’adresse localhost:3000.

Vous devriez voir le magnifique message « Hello, Express ! » s’afficher dans votre navigateur. Bravo !

Alors, je ne vais pas faire les rabat-joies, mais si jamais vous essayez de modifier votre code pour afficher un autre message… et bien il ne va rien se passer. Et oui, pour rafraîchir notre API Rest, il faut couper la commande npm start en faisant CTRL+C, puis relancer npm start, et enfin rafraîchir votre navigateur. Cela risque de considérablement ralentir nos développements. Je vous propose donc de remédier à cela dans la prochaine étape.