API - jclaerhout/Projet_Web_III_2023 GitHub Wiki
Description
Voici un descriptif des différents endpoints possibles de notre API
Users
Méthode HTTP | Route | Description |
---|---|---|
GET | /users | Récupérer la liste de tous les utilisateurs |
GET | /users/:user_id | Récupérer un utilisateur sur base de son identifiant |
POST | /users | Créer un nouvel utilisateur |
PUT | /users/:user_id | Mettre à jour les informations d'un utilisateur existant en fonction de son identifiant |
DELETE | /users/:user_id | Supprimer un utilisateur sur base de son identifiant |
Relations
Méthode HTTP | Endpoint | Description |
---|---|---|
GET | /users/:user_id/followers | Récupère la liste des utilisateurs qui suivent l'utilisateur avec l'identifiant spécifié |
GET | /users/:user_id/following | Récupère la liste des utilisateurs que l'utilisateur avec l'identifiant spécifié suit |
POST | /users/:user_id/follow | Ajoute un utilisateur en tant que follower de l'utilisateur avec l'identifiant spécifié |
DELETE | /users/:user_id/unfollow | Supprime la relation de suivi entre l'utilisateur et l'utilisateur avec l'identifiant spécifié |
Pictures
Méthode HTTP | Endpoint | Description |
---|---|---|
GET | /users/:user_id/pictures | Récupère toutes les images associées à un compte user |
GET | /pictures/:picture_id | Récupère les détails d'une image sur base de son identifiant (likes, catégories, commentaires, ...) |
POST | /users/:user_id/pictures | Ajoute une nouvelle image à la collection d'un compte user spécifié |
PUT | /pictures/:picture_id | Met à jour une image sur base de son identifiant |
DELETE | /pictures/:picture_id | Supprime une image sur base de son identifiant |
Likes
Méthode HTTP | Endpoint | Description |
---|---|---|
GET | /pictures/:picture_id/likes | Récupère les likes d'une image |
POST | /pictures/:picture_id/likes | Ajoute un like à une image |
Lien vers la liste des endpoints documentés
Les choix de conception de l'API sont expliqués sur le Wiki :
Ressources exposées, choix de nommage, technologie utilisée… Les noms et conventions utilisés sont cohérents.
La documentation de l'API est accessible depuis le Wiki. Elle est claire et bien organisée.
"Pour chaque ressource, une section détaille :
- la description de la ressource
- les endpoints associés et les méthodes pour y accéder
- les éventuels paramètres disponibles
- un exemple de requête
- un exemple de réponse"
L'API respecte globalement les principes REST
Node Express est un framework open-source pour le développement d'applications Web en JavaScript basé sur Node.js. Il fournit des fonctionnalités pour la création d'API Web RESTful, la gestion des routes, la gestion des middlewares et la manipulation des requêtes et réponses HTTP. Node Express respecte les principes de REST en utilisant les routes pour mapper les méthodes HTTP à des fonctions de middleware/contrôleur pour manipuler les ressources de l'application.
Le groupe peut présenter un exemple fonctionnel de endpoint de l'API (par ex. avec curl). Tous les étudiants peuvent en expliquer le fonctionnement.
Le groupe utilise un outil adéquat dédié pour tester son API lors du développement
Swagger respecte ces principes en permettant aux développeurs de décrire leurs API de manière claire et précise. Les descriptions des API Swagger incluent des informations sur les méthodes HTTP, les URI, les formats de réponse et bien plus encore. Cela permet aux clients d'interagir avec l'API de manière uniforme, respectant ainsi les principes REST.