/kata-API

Kata : créer une API de bière pour entraîner le développement d'API et la compréhension des requêtes HTTP

MIT LicenseMIT

Kata API

Kata : créer une API fonctionnelle avec CRUD sur les différentes tables d'une base de donnée MySQL.

But

Cet exercice permet de travailler l'intégration de Docker dans un projet, la création et l'utilisation d'une API. L'idée est aussi d'apprendre les différentes méthodes HTTP et de les utiliser.

Pré-requis

Ce Kata assume que vous êtes à l'aise avec Git, Docker et Docker-compose.

Comment procéder

Forkez ce repo et créez une branche (git checkout -b username/langage par exemple git checkout -b nicolasreymond/php, depuis votre fork). Faites ensuite une pull request pour l'ajouter à ce repo en vous ajoutant comme contributeur en bas de ce fichier.

Mise en place

À chaque fois qu'il y a un changement dans un fichier docker :

docker-compose up --build

Et pour simplement démarrer les containers docker:

docker-compose up -d

Objectifs

  • Forcker le dépot Git
  • Créer une nouvelle branche (ex. : usermame/langage)
  • Ajouter un container Docker (pour le langage de votre choix) au docker-compose
  • Comprendre comment détecter les types de requêtes HTTP (GET, POST, PUT, PATCH, DELETE)
  • Mise en place du CRUD pour l'endpoint /beer*
    • Mise en place du Create
    • Mise en place du Read
    • Mise en place du Update
    • Mise en place du Delete
  • Mise en place de la lecture des endpoints /brewerie*, /categorie* et /style*
  • Tester l’API avec
  • Faire une page qui documente l'utilisation de l’API (avec un example de requête pour chaques commandes)

Pour aller plus loin

  • Se poser des questions sur la pagination dans le cas de résultats importants, par exemple en utilisant le HEADER et le méthode HTTP HEAD
  • Intégration de swagger dans le langage choisi

Description des routes à utiliser

Endpoint Résultat Méthode
/beers Affiche toutes les bières GET
/beer Ajouter une bière POST
/beer/{id} Affiche la bière qui à l'id {id} GET
/beer/{id} Supprimer une bière DELETE
/beer/{id} Modifier une bière PUT
/beer/{id} Modifier partiellement une bière PATCH
/breweries Affiche toutes les brasseries GET
/brewerie/{id} Affiche la brasserie {id} GET
/categories Affiche toutes les catégories GET
/categorie/{id} Affiche la catégorie {id} GET
/styles Affiche toutes les styles GET
/style/{id} Affiche le style {id} GET

Contributeurs (langages par ordre alphabétique)

Laravelsaphirevert-repos