madamasterclass.com

📔 Créez une API simple avec Bottle

Création d'une API simple avec le framework Bottle


Dans cette activité, vous allez créer une API simple en utilisant le framework Bottle. Cette API vous permettra de gérer une liste d'articles avec des fonctionnalités de création, de lecture, de mise à jour et de suppression (CRUD).

1. Installation de Bottle

Assurez-vous que Bottle est installé. Si ce n'est pas le cas, utilisez la commande suivante :

⌨️  
pip install bottle
2. Création de l'application API

Créez un fichier Python nommé api.py et ajoutez le code suivant :

⌨️  
from bottle import Bottle, run, response, request

app = Bottle()

articles = []

@app.route('/articles', method='GET')
def get_articles():
response.content_type = 'application/json'
return {'articles': articles}

@app.route('/articles', method='POST')
def create_article():
article = request.json
articles.append(article)
response.status = 201
return article

@app.route('/articles/<index>', method='PUT')
def update_article(index):
article = request.json
articles[int(index)] = article
return article

@app.route('/articles/<index>', method='DELETE')
def delete_article(index):
articles.pop(int(index))
response.status = 204
return {'message': 'Article deleted'}

run(app, host='localhost', port=8080)
3. Tester l'API

Pour tester l'API, vous pouvez utiliser des outils comme Postman ou curl. Voici comment effectuer chaque opération :

3.1. Récupérer tous les articles
GET http://localhost:8080/articles
3.2. Créer un nouvel article
POST http://localhost:8080/articles
Body: {"title": "Mon Article", "content": "Contenu de l'article"}
3.3. Mettre à jour un article
PUT http://localhost:8080/articles/0
Body: {"title": "Article Mis à Jour", "content": "Nouveau contenu"}
3.4. Supprimer un article
DELETE http://localhost:8080/articles/0
4. Conclusion

Vous avez maintenant créé une API simple avec Bottle qui gère une liste d'articles. Vous pouvez étendre cette API en ajoutant des fonctionnalités supplémentaires, comme la persistance des données avec une base de données, l'authentification des utilisateurs, et plus encore !


Dans ce cours, nous allons examiner en détail le code de l'activité précédente sur la création d'une API simple avec Bottle. Nous allons décomposer chaque partie du code et expliquer les bibliothèques utilisées ainsi que leur logique.

1. Introduction aux bibliothèques importées

Nous avons importé les éléments suivants de la bibliothèque Bottle :

  •                 1️⃣ Bottle: La classe principale pour créer une application web avec Bottle.
  •                 2️⃣ run: Fonction qui démarre le serveur web intégré et exécute l'application.
  •                 3️⃣ response: Objet utilisé pour configurer la réponse HTTP que le serveur envoie au client.
  •                 4️⃣ request: Objet qui contient les données de la requête HTTP envoyée par le client.

2. Création de l'application

Voici comment nous avons créé notre application :

app = Bottle()

Cette ligne crée une instance de l'application Bottle, qui nous permettra de définir des routes et de gérer les requêtes.

3. Gestion des articles

Nous avons défini une liste vide pour stocker nos articles :

articles = []

Cette liste contiendra les articles au format JSON que nous allons manipuler via notre API.

4. Routes de l'API

Nous avons créé plusieurs routes pour gérer les opérations CRUD :

4.1. Récupérer tous les articles
@app.route('/articles', method='GET')
def get_articles():
response.content_type = 'application/json'
return {'articles': articles}

Cette route gère les requêtes GET à l'URL /articles. Elle retourne tous les articles au format JSON.

4.2. Créer un nouvel article
@app.route('/articles', method='POST')
def create_article():
article = request.json
articles.append(article)
response.status = 201
return article

Cette route gère les requêtes POST à l'URL /articles. Elle récupère les données JSON envoyées par le client, les ajoute à la liste articles, et retourne le nouvel article avec un statut HTTP 201 (Créé).

4.3. Mettre à jour un article
@app.route('/articles/<index>', method='PUT')
def update_article(index):
article = request.json
articles[int(index)] = article
return article

Cette route gère les requêtes PUT à l'URL /articles/<index>. Elle met à jour l'article à l'index spécifié avec les nouvelles données envoyées par le client.

4.4. Supprimer un article
@app.route('/articles/<index>', method='DELETE')
def delete_article(index):
articles.pop(int(index))
response.status = 204
return {'message': 'Article deleted'}

Cette route gère les requêtes DELETE à l'URL /articles/<index>. Elle supprime l'article à l'index spécifié et retourne un statut HTTP 204 (Pas de contenu).

5. Démarrer le serveur

Enfin, nous démarrons le serveur avec la commande suivante :

run(app, host='localhost', port=8080)

Cette ligne exécute l'application sur localhost à port 8080, rendant l'API accessible.

6. Conclusion

Vous avez maintenant une compréhension détaillée du code de l'API simple créée avec Bottle. Vous pouvez maintenant étendre cette API en ajoutant des fonctionnalités supplémentaires, comme la persistance des données avec une base de données ou des fonctionnalités de sécurité. N'hésitez pas à explorer davantage les possibilités offertes par Bottle !

Forum(s) associé(s)

Page: