0% ont trouvé ce document utile (0 vote)
51 vues11 pages

TP API SpringBoot3

Ce document décrit la création d'une API REST simple pour gérer des étudiants en utilisant le framework Spring Boot, en suivant le modèle MVC. Il couvre les prérequis nécessaires, la création d'un projet, ainsi que l'implémentation des endpoints pour ajouter, récupérer, modifier et supprimer des étudiants, tout en utilisant Postman pour tester l'API. Le document inclut également des instructions pour ajouter plusieurs étudiants en une seule requête.

Transféré par

salma beauty
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)
51 vues11 pages

TP API SpringBoot3

Ce document décrit la création d'une API REST simple pour gérer des étudiants en utilisant le framework Spring Boot, en suivant le modèle MVC. Il couvre les prérequis nécessaires, la création d'un projet, ainsi que l'implémentation des endpoints pour ajouter, récupérer, modifier et supprimer des étudiants, tout en utilisant Postman pour tester l'API. Le document inclut également des instructions pour ajouter plusieurs étudiants en une seule requête.

Transféré par

salma beauty
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

TP : Création d'une API REST avec Spring Boot

Le framework Spring Boot permet de créer rapidement des API Rest solides
selon une architecture de code respectant le modèle MVC.
Dans ce tutoriel, nous allons créer une API REST simple avec Spring Boot
pour gérer des étudiants. Nous allons implémenter les endpoints pour
ajouter, récupérer, modifier et supprimer des étudiants. Ensuite, nous
testerons notre API avec Postman.

Nous allons exposer les endpoints suivants :

• Ajouter un étudiant
• Récupérer la liste des étudiants
• Récupérer un étudiant par son ID
• Modifier un étudiant
• Supprimer un étudiant

L’API sera développée suivant le modèle MVC (Model-View-Controller), qui


sépare la logique métier de la gestion des données et de l’interface
utilisateur. Nous utiliserons Postman pour tester notre API, en envoyant
des requêtes HTTP aux différents endpoints de l'application.
Prequisities:
Pour faire marcher un projet Spring Boot, il y a plusieurs prérequis à
prendre en compte. Voici les étapes et éléments essentiels à connaître
pour démarrer avec Spring Boot :
 JDK (Java Development Kit):
Spring Boot est basé sur Java, donc le JDK doit être installé sur votre
machine. La version minimale recommandée pour Spring Boot est
généralement Java 8, mais il est conseillé d'utiliser une version plus
récente si possible (par exemple, Java 17 ou Java 21), car Spring Boot est
compatible avec ces versions plus récentes.
[Link]

 IDE (Environnement de développement intégré):


Il est recommandé d'utiliser un IDE pour faciliter le développement. Voici
quelques IDE populaires pour Spring Boot :
• IntelliJ IDEA (recommandé pour sa compatibilité avec Spring Boot et
son support de Java)
• Eclipse (avec le plugin Spring Tool Suite, pour une intégration facile de
Spring)
• VS Code (avec les extensions nécessaires pour Java et Spring)
[Link]

 Maven ou Gradle:
Spring Boot utilise des outils de gestion de dépendances pour gérer les
librairies nécessaires à votre projet. Vous pouvez utiliser Maven ou Gradle,
mais Maven est plus couramment utilisé avec Spring Boot.

Tuto: [Link]
Afin de pouvoir utiliser la commande mvn spring-boot:run suivez le tuto
suivant pour bien définir les environnements
[Link]
your-springboot-project-88549b45c27c

Créer un projet Spring Boot:


Allez sur Spring Initializr ( [Link] et configurez votre projet
avec les options suivantes :

Ensuite cliquez sur Generate pour obtenir le project


La structure du projet apres l’exportation est la suivante:

Test des API pour un seul étudiant:


Créer l’entité Étudiant(Model):
1- Créer un package:
studentapi\src\main\java\com\tpspringboot\studentapi\Model.
2- Créer une classe nommée [Link] dans ce package.
3- Déclarer les attributs privés suivants dans la classe :
• Long id : l’identifiant de l’étudiant
• String nom : le nom de l’étudiant
• String prenom : le prénom de l’étudiant
• int age : l’âge de l’étudiant

4- Ajouter un constructeur avec tous les paramètres (id, nom, prenom, age)
pour initialiser l’objet Student.

5- Créer les méthodes getter et setter pour chaque attribut :

• getId() / setId(Long id)


• getNom() / setNom(String nom)
• getPrenom() / setPrenom(String prenom)
• getAge() / setAge(int age)

Création du Service et controlleur de


L’etudiant(StudentService & StudentController):
• Service:
Le service dans une application Spring Boot joue un rôle central en traitant
la logique métier. Dans le cas de la gestion des étudiants, le
StudentService permet de centraliser toutes les opérations liées aux
étudiants, comme l'ajout, la modification, la suppression et la
consultation. Il agit comme un intermédiaire entre le contrôleur (qui gère
les requêtes HTTP) et les données (même si ici, elles sont stockées en
mémoire). Cela permet de mieux organiser le code, de le rendre plus clair,
réutilisable et facile à maintenir, tout en respectant l’architecture en
couches de Spring.
Créer un package:
studentapi\src\main\java\com\tpspringboot\studentapi\Service
Créer une classe nommée [Link] dans ce package.
• Controller:
Dans une application Spring Boot, les contrôleurs jouent un rôle clé dans
la gestion des requêtes HTTP. Ils servent de point d'entrée pour les clients
qui interagissent avec l'API. Le StudentController, par exemple, permet de
gérer les différentes actions liées aux étudiants, comme la récupération,
l'ajout, la mise à jour ou la suppression. Chaque méthode du contrôleur
est associée à une route spécifique via des annotations comme
@GetMapping, @PostMapping, @PutMapping et @DeleteMapping, qui
définissent l'action HTTP correspondante. Le contrôleur agit comme un
intermédiaire entre les requêtes externes (par exemple, celles venant d'un
navigateur ou d'un client) et les services internes (comme le
StudentService).
Créer un package:
studentapi\src\main\java\com\tpspringboot\studentapi\Controller
Créer une classe nommée [Link] dans ce package.
Vous trouvez les deux fonctions java dans le lien suivant :
Service et Controller

Apres l’implementation des fonctions suivantes, on peut lancer le projet a


travers la commande dans le Terminal:
mvn spring-boot:run
Test des API avec Postman:
Postman est un outil populaire utilisé pour tester et développer des API
(interfaces de programmation d'applications). Il permet aux développeurs
d’envoyer facilement des requêtes HTTP (comme GET, POST, PUT,
DELETE), d'analyser les réponses, et d'automatiser des tests. Intuitif et
puissant, Postman est largement utilisé pour la collaboration entre les
équipes backend et frontend dans le développement d'applications web et
mobiles.
Lien de Teléchargement: [Link]
Lancer l’application
1. Ouvre [Link]
2. Clique sur la flèche ▶️ Run
3. L’API est maintenant live à [Link]
Tester avec Postman
1. Ouvre Postman
2. Nouvelle requête ▶️ Sélectionne HTTP

TESTS Postman:
Méthode : POST
• Méthode : POST
• URL : [Link]
• Onglet : Body
• Cocher : raw
• Choisir : JSON (dans le menu déroulant à droite de raw)
Dans Body mettez les infos suivantes:

{
"id": 1,
"nom": "Dupont",
"prenom": "Jean",
"age": 21
}

Méthode : GET un seul étudiant


• Méthode : GET
• URL : [Link]
• Body : rien
• Résultat attendu :

GET – Un seul étudiant par ID


• Méthode : GET
• URL : [Link]
• Body : rien
• Résultat attendu :

D’abord ajouter un nouvelle étudiant avec la méthode POST


PUT – Modifier un étudiant
• Méthode : PUT
• URL : [Link]
• Body → raw → JSON :

{
"nom": "Dupont",
"prenom": "Jean-Michel",
"age": 23
}

• Resultats:
DELETE – Supprimer un étudiant:
• Méthode: DELETE
• URL: [Link]

Test des API pour un plusieurs étudiant:


Après avoir testé avec succès l’ajout d’un seul étudiant via une requête
POST sur /students, nous allons maintenant étendre notre API pour
permettre l’ajout de plusieurs étudiants à la fois. Cela permet, par
exemple, d’insérer une classe entière en une seule requête, ce qui est plus
efficace dans certains cas d’usage (import de données, initialisation, etc.).

• Service:
Ajouter cette méthode a la classe [Link]
public List<Student> addStudentsBatch(List<Student> newStudents) {
List<Student> added = new ArrayList<>();
for (Student student : newStudents) {
[Link](addStudent(student)); // utilise addStudent pour gérer
l'ID
}
return added;
}

• Controller:
Ajouter cette méthode a la classe [Link] pour
pouvoir ajouter plusieurs étudiant en meme temps
@PostMapping("/batch")
public List<Student> addStudentsBatch(@RequestBody List<Student> students)
{
return [Link](students);
}

TESTS Postman :
Méthode : POST(plusieurs étudiant)
• Méthode : POST
• URL : [Link]
• Onglet : Body
• Cocher : raw
• Choisir : JSON (dans le menu déroulant à droite de raw)

Méthode : GET plusieurs étudiant


• Méthode : GET
• URL : [Link]
• Body : rien
• Résultat attendu :

Méthode: PUT et DELETE pas de changement

Vous aimerez peut-être aussi