0% ont trouvé ce document utile (0 vote)
3 vues16 pages

Introduction aux API REST

Le chapitre 3 présente les API REST, un style d'architecture pour le développement d'applications orientées ressources, basé sur des méthodes HTTP comme GET, POST, PUT et DELETE. Il explique également la représentation des données via des formats comme XML et JSON, en soulignant les avantages de JSON pour sa concision et sa lisibilité. Enfin, il aborde l'utilisation de Spring MVC pour créer des services RESTful, en détaillant les annotations nécessaires pour gérer les requêtes.

Transféré par

Khawla khawla
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
3 vues16 pages

Introduction aux API REST

Le chapitre 3 présente les API REST, un style d'architecture pour le développement d'applications orientées ressources, basé sur des méthodes HTTP comme GET, POST, PUT et DELETE. Il explique également la représentation des données via des formats comme XML et JSON, en soulignant les avantages de JSON pour sa concision et sa lisibilité. Enfin, il aborde l'utilisation de Spring MVC pour créer des services RESTful, en détaillant les annotations nécessaires pour gérer les requêtes.

Transféré par

Khawla khawla
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

CHAPITRE 3: les API Rest

1
Introduction

2
Rappel : Web Services (Définition)
q Services informatiques de la famille des technologies web permettant la communication
entre des applications hétérogènes dans des environnements distribués (Wikipédia).
q Solution d’intégrations de différents logiciels développés par des entreprises (ERP, CRM)
leur permettant de communiquer entre eux.
q Basés sur XML (déscription et échange) et utilisant en général les protocoles du web
comme canal de communication;

3
REST: Définition
§ REST est l'acronyme de REpresentational State Transfert

§ Principes définis dans la thèse de Roy FIELDING en 2000


- Principaux auteurs de la spécification HTTP
- Membre fondateur de la fondation Apache

§ REST est un style d'architecture inspiré de l'architecture du Web

§ REST est
- un style d'architecture
- une approche pour construire une application

§ REST n'est pas


- un format
- un protocole
- un standard
4
REST: Concepts
§ Les Services Web REST sont utilisés pour développer des architectures
orientées ressources

§ Les applications qui respectent les architectures orientées ressources sont


respectivement nommées RESTfuI

§ Les nominations Rest et RestFul sont utilisés indifféremment.

§ Les services Web REST fournissent une interface uniforme basée sur les
méthodes HTTP

- GET, POST, PUT et DELETE

§ Les architectures orientées REST sont construites à partir de ressources qui


sont uniquement identifiées par des URIs
5
REST: Caractéristiques

§ Dans une architecture orientée REST, les ressources sont manipulées à


travers des formats de représentations

- Une ressource liée à un Bon de Commande est représentée par un


document XML
- La création d'un Bon de Commande est réalisée par la combinaison
d'une méthode HTTP Post et d'un document XML

§ Dans une architecture orientée REST, la communication est obtenue par


le transfert de la représentation des ressources

6
REST: Requêtes

§ Ressources (Identifiant)

- Identifié par une URI


- Exemple : httpelocalhost:8080/librerieINSEAwebservice/books

§ Méthodes (Verbes) pour manipuler l'identifiant

- Méthodes HTTP : GET, POST, PUT and DELETE

§ Représentation

- Informations transférées entre le client et le serveur


- Exemples : XML, JSON

7
REST: Méthode
§ Une ressource quelconque peut subir quatre opérations de base désignées par CRUD

- Create (Créer)
- Retrieve (Lire)
- Update (mettre à jour)
- Delete (Supprimer)

§ REST s'appuie sur le protocole HTTP pour exprimer les opérations via les méthodes HTTP

- Create par la méthode POST


- Retrieve par la méthode GET
- Update par la méthode PUT
- Delete par la méthode DELETE

§ Possibilité d'exprimer des opérations supplémentaires via d'autres méthodes HTTP (Ex : HEAD)
8
REST: Méthode

§ La méthode GET renvoie une représentation de la ressource telle


qu’elle est sur le système

§ La méthode POST crée une nouvelle ressource sur le système

§ La méthode DELETE supprime la ressource identifiée par l’URI sur le


serveur

§ La méthode PUT met àjour de la ressource sur le système

9
REST: Représentation

§ Fournir les données suivant une représentation pour

- GET
- PUT ou POST

§ Données retournées sous différents formats

- XML
- JSON

§ Le format d'entrée (POST) et le format de sortie (GET) d'un service Web


d'une ressource peuvent être différents
10
REST : JavaScript Object Notation

§ Pour les Web Services RESTful, les encodages les plus utilisé
s sont XML et
JSON. XML est un standard incontesté́mais souffre de quelques
inconvénients:

- Verbeux
- Difficilement lisible par un humain
- Dualité́entre les attributs et les éléments.

§ JSON est l'acronyme de JavaScript Object Notation.

§ C'est un format texte qui permet de représenter des données et de les


échanger facilement àl'instar d'XML.
11
REST : JavaScript Object Notation

§ Ce sous ensemble de JavaScript permet de décrire le modelé objet


de JavaScript. Deux types de structures sont disponibles :

- Objet : une collection de paire nom/valeur

- Tableau : une liste ordonnée de valeurs

§ Les valeurs peuvent être des types suivants : booléen, chaîn e de


caractères, nombre, ou valeur nulle.

12
REST : JavaScript Object Notation
{
"nom":"INSEA",
"age":57,
"addresse": { "rue":"avenue Irfane", "ville":"Rabat", "code":86945},
"telephone":[ {"type":"maison", "numero" : 123456}, {"type":"portable",
"numero": 654321} ]
}
§ Le format JSON ne fait pas de différence entre attribut et élément comme en
XML.
§ Il est plus concis et plus lisible.
<utilisateur nom= "INSEA" age= "57">
<adresse>
<rue>avenue Irfane</rue>
<ville>Rio</ville>
<code>86945</code>
</adresse>
<telephones>
<telephone type="maison">123456</telephone>
<telephone type="portable">654321</telephone>
</telephones> 13
</utilisateur>
REST: Spring MVC
§ Configuration de Spring MVC :

@Configuration
@EnableWebMvc // Pour pouvoir travailler avec SpringMvc
@ComponentScan(basePackages = "[Link]")

Un service Rest en utilisant Spring MVC :

• Classe annotée @RestController ou @Controller

• Url spécifiée par @RequestMapping(value = "/test") (au dessus du nom de la classe)

14
REST: Spring MVC
§ Requête :

- @RequestMapping(value = "/vehicules" , method = [Link]) :


Annotation pour mapper des requêtes Web sur des classes et / ou des méthodes
qui prennent en charge ces annotations.

- On doit spécifier la méthode (Post ou Get, etc.):

- @GetMapping : Abréviation de @RequestMapping pour la méthode Get


- @PostMapping : Abréviation de @RequestMapping pour la méthode Post
- @ResponseBody : Annotation qui indique que la valeur de retour de méthode
doit être liée au corps(Body) de la réponse Web.

15
TP 4 : Spring Mvc et Rest

16

Vous aimerez peut-être aussi