Vous êtes sur la page 1sur 29

Partie II Créer des APIs REST simples en Node JS et Express Js Formateur : Said GAHI

Objectifs

Usage du Framework Express avec le Template EJS


Usage de express-generator :
npm install express-generator -g
(express --view=ejs monApplication)
Partie II Créer des APIs REST simples en Node JS et Express Js Formateur : Said GAHI

Définitions

Une REST API, qu'est-ce que c'est ?


Une API REST (également appelée API RESTful) est une interface de programmation d'application (API ou API
web) qui respecte les contraintes du style d'architecture REST et permet d'interagir avec les services web RESTful
RESTful.
L'architecture REST (Representational
Representational State Transfer
Transfer) a été créée par l'informaticien Roy Fielding.

Une API, qu'est-ce que c'est ?


Une API est un ensemble de définitions et de protocoles qui facilite la création et l'intégration de logiciels
d'applications. Elle est parfois considérée comme un contrat entre un fournisseur d'informations et un utilisateur
d'informations, qui permet de définir le contenu demandé au consommateur (l'appel) et le contenu demandé au
producteur (la réponse)
réponse).

Par exemple, l'API conçue pour un service de météo peut demander à


l'utilisateur de fournir un code postal et au producteur de renvoyer une
réponse en deux parties : la première concernant la température maximale
et la seconde la température minimale.
Partie II Créer des APIs REST simples en Node JS et Express Js Formateur : Said GAHI

Fonctionnement API

Les API constituent un moyen simplifié de connecter votre


propre infrastructure au travers du développement
d'applications cloud-native

Imaginez, par exemple, un distributeur de livres. Ce distributeur pourrait fournir à


ses librairies clientes une application cloud qui leur permettrait de vérifier la
disponibilité des livres auprès du fournisseur
Partie II Créer des APIs REST simples en Node JS et Express Js Formateur : Said GAHI

Fonctionnement API

Les API permettent à votre produit ou service de communiquer avec d'autres

Le développement d'applications cloud-native est un moyen évident d'augmenter la vitesse de développement. Il


repose sur la connexion d'une architecture d'applications de type microservices via des API
Partie II Créer des APIs REST simples en Node JS et Express Js Formateur : Said GAHI

Création API REST


Partie II Créer des APIs REST simples en Node JS et Express Js Formateur : Said GAHI

Création API REST


Partie II Créer des APIs REST simples en Node JS et Express Js Formateur : Said GAHI

Création API REST


Partie II Créer des APIs REST simples en Node JS et Express Js Formateur : Said GAHI

Création API REST


Partie II Créer des APIs REST simples en Node JS et Express Js Formateur : Said GAHI

Création API REST


Partie II Créer des APIs REST simples en Node JS et Express Js Formateur : Said GAHI

Création API REST


Partie II Créer des APIs REST simples en Node JS et Express Js Formateur : Said GAHI

Création API REST


Partie II Créer des APIs REST simples en Node JS et Express Js Formateur : Said GAHI

Création API REST


Partie II Créer des APIs REST simples en Node JS et Express Js Formateur : Said GAHI

Création API REST


Partie II Créer des APIs REST simples en Node JS et Express Js Formateur : Said GAHI

Création API REST


Partie II Créer des APIs REST simples en Node JS et Express Js Formateur : Said GAHI

Création API REST

Exercice 01
40min
Partie II Créer des APIs REST simples en Node JS et Express Js Formateur : Said GAHI

Installation NodeJS et ExpressJs

NodeJS
-
-
-
des serveurs Web.
Il s'agit d'un environnement d'exécution JavaScript open source asynchrone piloté par les événements.
Il est construit sur le moteur JavaScript de Chrome (moteur V8).

Il permet aux développeurs d'utiliser Javascript côté serveur.


Partie II Créer des APIs REST simples en Node JS et Express Js Formateur : Said GAHI

Installation ExpressJS

Le framework Express est installé et enregistré dans le package.json avec npm install express .
Pour créer une application Express, appelez simplement la méthode express() .
Un middleware est un bloc de code qui traite les requêtes et réponses de votre application.
Ajouter la normalisation de port, la gestion d'erreur et du logging basique à votre serveur Node le rend plus constant et
plus facile à déboguer.

npm init -y
npm install express
Partie II Créer des APIs REST simples en Node JS et Express Js Formateur : Said GAHI

Installation ExpressJS

http : est un module nodeJS qui permet de créer un serveur


Partie II Créer des APIs REST simples en Node JS et Express Js Formateur : Said GAHI

Installation ExpressJS

index.js
const express=require('express')

const app =express() // créer une instance de l'application express

app.listen(4000,()=>{

console.log("Le serveur est démaré sur le port 4000")

})
Partie II Créer des APIs REST simples en Node JS et Express Js Formateur : Said GAHI

Installation ExpressJS Définir les routes


Partie II Créer des APIs REST simples en Node JS et Express Js Formateur : Said GAHI

Installation ExpressJS Définir les routes

Handler
Un handler reçoit toujours deux objets en paramètres. Ces objets sont créés par express est sont
spécifiques à chaque requête reçue.

Chaîner les Handler


Il est également possible de chaîner les Handlers, pour ce faire il
app.get('/', (req, res) => { next

app.get( produits', (req, res, next) => {


res.send('hello world');
console.log('La réponse sera envoyée par la fonction suivante...');

}); next();
}, (req, res) => {
res.send('Hello from B!');
});
Partie II Créer des APIs REST simples en Node JS et Express Js Formateur : Said GAHI

Installation ExpressJS

res.send('hello world');
res.status(404).end();
res.status(404).send('product not found.');
res.json(json_object);
res.redirect(301, 'http://example.com');
Partie II Créer des APIs REST simples en Node JS et Express Js Formateur : Said GAHI

Installation ExpressJS

const express = require( );

const app = express();


app.use(express.static( ))

app.use(express.static('htmls ))

app.get('product', (request, response)=>{


response.sendFile("productsample.html")
})
Partie II Créer des APIs REST simples en Node JS et Express Js Formateur : Said GAHI

Installation ExpressJS

app.get('/', (req, res) => {

res.header('Content-type', 'text );
return res.end( );

});

res.header('Access-Control-Allow-Origin', )
res.header( 'Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept' )
Partie II Créer des APIs REST simples en Node JS et Express Js Formateur : Said GAHI

Installation ExpressJS

app.use(function(req, res, next) {

res.header("Access-Control-Allow-Credentials", true);
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, Authorization");

next();
});

Cross-origin resource sharing (CORS)


x

est un mécanisme qui consiste à ajouter des en-têtes HTTP afin de permettre à un agent utilisateur
d'accéder à des ressources d'un serveur situé sur une autre origine que le site courant. Un agent
utilisateur réalise une requête HTTP multi-origine (cross-origin) lorsqu'il demande une ressource
provenant d'un domaine, d'un protocole ou d'un port différent de ceux utilisés pour la page courante.
Partie II Créer des APIs REST simples en Node JS et Express Js Formateur : Said GAHI

Installation ExpressJS

http://localhost:3000/?prenom=gahi&nom=said
app.get('/', (req, res) => {
res.send(req.query.prenom);
});

http://localhost:3000/gahi/said app.get('/:prenom/:nom', (req, res) => {


var prenom = req.params.prenom
res.send('Salut ' + prenom );
});
Partie II Créer des APIs REST simples en Node JS et Express Js Formateur : Said GAHI

Installation ExpressJS

app.get('/:prenom/:nom', (req, res) => {


let {prenom,nom} = req.params
res.send( prenom );
});

La méthode app.use() vous permet d'attribuer un middleware à une route spécifique de


votre application.
Le CORS définit comment les serveurs et les navigateurs interagissent, en spécifiant quelles
ressources peuvent être demandées de manière légitime par défaut, les requêtes AJAX sont
interdites.
Pour permettre des requêtes cross-origin (et empêcher des erreurs CORS), des headers
spécifiques de contrôle d'accès doivent être précisés pour tous vos objets de réponse.
Partie II Créer des APIs REST simples en Node JS et Express Js Formateur : Said GAHI

Installation ExpressJS

index.js

Ajouter les
chemin vers les
actions de mise
à jour des
données
Partie II Créer des APIs REST simples en Node JS et Express Js Formateur : Said GAHI

Création des APIs

La Structure du Projet

Controllers

Models : Contenant la définition des Schémas


(Objets) avec le mapping avec une collection

(chemin) vers les ressources

Module contenant la chaine de connexion au


serveur de données

créer un serveur http

Vous aimerez peut-être aussi