SAO REST
SAO REST
SAO REST
1. Introduction à SOA
Caractéristiques :
Exemples :
2. Fonctionnement de SOA
3. Technologies SOA
o Séparation client-serveur.
4. Avantages de SOA
SOAP :
REST :
6. Introduction à GraphQL
Avantages :
o Gérer les erreurs avec des codes HTTP appropriés (ex. 404
pour "Non trouvé").
GraphQL :
Exercices proposés
1. Introduction à SOA
Caractéristiques :
Exemples pratiques :
3. Fonctionnement de SOA
Contraintes clés :
SOAP :
REST :
8. Introduction à GraphQL
Avantages :
Schémas GraphQL :
2. Requêtes à implémenter :
Un schéma GraphQL est utilisé pour définir les types de données et les
requêtes disponibles.
type Product {
type Query {
}
2. Première requête : Récupérer tous les produits
query {
getAllProducts {
id
name
description
price
category
"id": "1",
"name": "Laptop",
"price": 1500.99,
"category": "Electronics"
},
"id": "2",
"price": 250.50,
"category": "Furniture"
}
]
query {
getProductsByCategory(category: "Electronics") {
id
name
description
price
category
"id": "1",
"name": "Laptop",
"price": 1500.99,
"category": "Electronics"
},
"id": "3",
"name": "Smartphone",
"price": 999.99,
"category": "Electronics"
query {
getProductByName(name: "Laptop") {
id
name
description
price
category
"id": "1",
"name": "Laptop",
"price": 1500.99,
"category": "Electronics"
Correction de TD
4. 400 Bad Request : La requête est invalide (erreur côté client, ex.
syntaxe incorrecte).
6. 500 Internal Server Error : Une erreur s'est produite côté serveur.
4. 400 Bad Request : Envoyer une requête pour ajouter un livre sans
fournir toutes les informations nécessaires (par ex. le titre).
1. Ajouter un ami :
3. Supprimer un ami :
2. Exemples de requêtes
1. PUT :
o Corps :
o {
o "name": "Alice",
o "email": "alice@example.com",
o "age": 30
o }
2. PATCH :
o Corps :
o {
o "email": "alice.new@example.com"
o }
1. Endpoints nécessaires
Codes de
Fonctionnalit Méthod Paramètre
Endpoint statut
é e HTTP s requis
possibles
Récupérer
toutes les /rooms GET Aucun 200 OK
salles
Récupérer les
200 OK, 404
détails d’une /rooms/{roomId} GET roomId
Not Found
salle
201
roomId, Created,
Réserver une /rooms/{roomId}/
POST date, time, 400 Bad
salle reserve
userId Request,
409 Conflict
204 No
roomId,
Annuler une /rooms/{roomId}/ Content,
DELETE reservationI
réservation reserve/{id} 404 Not
d
Found
2. Exemple de structure de réponse JSON
2. [
3. {
4. "id": 1,
6. "capacity": 10
7. },
8. {
9. "id": 2,
11. "capacity": 50
12. }
13. ]
o Réponse (succès) :
o {
o "reservationId": 12345,
o "roomId": 1,
o "date": "2024-12-01",
o "time": "10:00-12:00",
o "userId": 789
o }