Tutoriel REST API

 🚀 Introduction

Une REST API (Representational State Transfer) permet à deux applications de communiquer entre elles grâce aux méthodes HTTP.

Chaque méthode correspond à une action précise :

MéthodeActionDescription
GETLireRécupérer des données
POSTCréerAjouter de nouvelles données
PUTMettre à jourRemplacer complètement une ressource
PATCHModifierMettre à jour partiellement
DELETESupprimerEffacer une ressource

Dans ce tutoriel, nous allons utiliser une vraie API externe:

👉 https://restful-api.dev/



Cette architecture est couramment utilisée dans les environnements microservices modernes.

👉 environnements microservices modernes



📥 1. GET — Lire / récupérer des données

➤ Exemple 1 : récupérer plusieurs objets via leurs IDs

🔗 URL :

https://api.restful-api.dev/objects?id=4&id=6&id=10

🟦 cURL Exemple (GET)

curl --location 'https://api.restful-api.dev/objects?id=4&id=6&id=10' \ --data ''

📌 Exemple Response:

[
    {
        "id": "4",
        "name": "Apple iPhone 11, 64GB",
        "data": {
            "price": 389.99,
            "color": "Purple"
        }
    },
    {
        "id": "6",
        "name": "Apple AirPods",
        "data": {
            "generation": "3rd",
            "price": 120
        }
    },
    {
        "id": "10",
        "name": "Apple iPad Mini 5th Gen",
        "data": {
            "Capacity": "64 GB",
            "Screen size": 7.9
        }
    }
]

➤ Exa

➤ Exemple 2 : récupérer un objet spécifique via son ID

🔗 URL :

https://api.restful-api.dev/objects/ff8081819782e69e019a41218336270d

🟦 cURL Example (GET)

curl --location 'https://api.restful-api.dev/objects/ff8081819782e69e019a41218336270d' \ --data ''

📌 Exemple Response:

{
    "id": "ff8081819782e69e019a41218336270d",
    "name": "Apple Testing update MacBook Pro 16",
    "data": {
        "year": 2019,
        "price": 1849.99,
        "CPU model": "Intel Core i9",
        "Hard disk size": "1 TB"
    }
}

✅ La méthode GET ne modifie jamais les données.

Elle sert uniquement à lire / afficher.



 2. POST — Créer une nouvelle ressource

🔗 URL :

https://api.restful-api.dev/objects

📦 Corps (Body) :

{ "name": "shikha MacBook Pro 16", "data": { "year": 2019, "price": 1849.99, "CPU model": "Intel Core i9", "Hard disk size": "1 TB" } }

🟦 cURL Exemple (POST)


curl --location 'https://api.restful-api.dev/objects' \ --header 'Content-Type: application/json' \ --data '{ "name": "Apple Testing MacBook Pro 16", "data": { "year": 2019, "price": 1849.99, "CPU model": "Intel Core i9", "Hard disk size": "1 TB" } }'

📌 Exemple Response:
{
    "id": "ff8081819782e69e019a44762e9b2aee",
    "name": "Apple Testing MacBook Pro 16",
    "createdAt": "2025-11-02T12:06:27.227+00:00",
    "data": {
        "year": 2019,
        "price": 1849.99,
        "CPU model": "Intel Core i9",
        "Hard disk size": "1 TB"
    }
}

✅ La méthode POST crée un nouvel enregistrement.

Le serveur génère automatiquement un ID unique.



🔄3. PUT — Mise à jour complète (replace toute la ressource)

🔗 URL :

https://api.restful-api.dev/objects/ff8081819782e69e019a41218336270d

📦 Corps (Body):

{ "name": "Shikha MacBook Pro 16", "data": { "year": 2019, "price": 1849.99, "CPU model": "Intel Core i9", "Hard disk size": "1 TB" } }


🟦 cURL Exemple (PUT)

curl --location --request PUT 'https://api.restful-api.dev/objects/ff8081819782e69e019a41218336270d' \ --header 'Content-Type: application/json' \ --data '{ "name": "Apple Testing update MacBook Pro 16", "data": { "year": 2019, "price": 1849.99, "CPU model": "Intel Core i9", "Hard disk size": "1 TB" } }'

📌 Exemple Response:

{
    "id": "ff8081819782e69e019a41218336270d",
    "name": "Apple Testing update MacBook Pro 16",
    "updatedAt": "2025-11-02T12:08:01.394+00:00",
    "data": {
        "year": 2019,
        "price": 1849.99,
        "CPU model": "Intel Core i9",
        "Hard disk size": "1 TB"
    }
}

✅ PUT remplace toute la ressource existante par celle envoyée.



 4. PATCH — Mise à jour partielle

📌 PATCH modifie uniquement une partie de l’objet (exemple : changer seulement le nom).

🔗 URL :

https://api.restful-api.dev/objects/ff8081819782e69e019a41218336270d

📦 Corps (Body) :

{ "name": "Apple MacBook Pro 16 (Updated Name)" }

🟦 Exemple cURL (PATCH)

curl --location --request PATCH 'https://api.restful-api.dev/objects/ff8081819782e69e019a41218336270d' \ --header 'Content-Type: application/json' \ --data '{ "name": "Apple MacBook Pro 16 (Updated Name)" }'

📌 Exemple Response:

{
    "id": "ff8081819782e69e019a41218336270d",
    "name": "Apple MacBook Pro 16 (Updated Name)",
    "updatedAt": "2025-11-02T12:09:19.622+00:00",
    "data": {
        "year": 2019,
        "price": 1849.99,
        "CPU model": "Intel Core i9",
        "Hard disk size": "1 TB"
    }
}

✅ PATCH modifie seulement les champs envoyés, sans écraser le reste.



🗑️ 5. DELETE — Supprimer une ressource

📌 Supprime un objet de la base de données.

🔗 URL :

https://api.restful-api.dev/objects/ff8081819782e69e019a41218336270d

🟦 Exemple cURL (DELETE)

curl --location --request DELETE 'https://api.restful-api.dev/objects/ff8081819782e69e019a44762e9b2aee' \ --data ''

📌 Exemple Response:

{
    "message": "Object with id = ff8081819782e69e019a44762e9b2aee has been deleted."
}


➡️ Après DELETE, une requête GET sur le même ID retournera “not found”.



🎯 Résumé des méthodes REST

MéthodeAction CRUDUtilisation
GETReadLire / afficher des données
POSTCreateCréer une nouvelle ressource
PUTUpdateModifier entièrement une ressource
PATCHModifyModifier partiellement
DELETEDeleteSupprimer une ressource

✅ Conclusion

Vous savez maintenant utiliser les cinq méthodes les plus importantes des REST APIs :

  • GET pour récupérer

  • POST pour créer

  • PUT pour remplacer complètement

  • PATCH pour modifier partiellement

  • DELETE pour supprimer

Ces concepts sont utilisés dans :

  • Postman

  • API Web

  • Développement backend (Java, Spring Boot, Node.js, Python, Camunda, jBPM)


💼 Support professionnel disponible


Si vous rencontrez des problèmes sur des projets réels liés au développement backend d’entreprise ou à l’automatisation des workflows, je propose des services de conseil payants, de débogage en production, de support projet et de formations ciblées.

Les technologies couvertes incluent Java, Spring Boot, PL/SQL, Azure, ainsi que l’automatisation des workflows (jBPM, Camunda BPM, RHPAM).


Comments

Popular posts from this blog

Top 50 Camunda BPM Interview Questions and Answers for Developers (2026 Guide)

OOPs Concepts in Java | English | Object Oriented Programming Explained

Scopes of Signal in jBPM