Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
python:flask:api [2023/12/24 09:24] marclebrun |
python:flask:api [2023/12/24 10:04] (Version actuelle) marclebrun [Exemples] |
||
---|---|---|---|
Ligne 10: | Ligne 10: | ||
^ Http ^ Crud ^ Description ^ | ^ Http ^ Crud ^ Description ^ | ||
- | ^ POST | **C**reate | | | + | ^ POST | **C**reate | Ajouter | |
- | ^ GET | **R**ead | Récupérer (lire) des données | | + | ^ GET | **R**ead | Lire | |
- | ^ PUT | **U**pdate | | | + | ^ PUT | **U**pdate | Modifier | |
- | ^ DELETE | **D**elete | Supprimer une donnée | | + | ^ DELETE | **D**elete | Supprimer | |
+ | |||
+ | ===== Exemples ===== | ||
+ | |||
+ | <code python> | ||
+ | from flask import request, jsonify | ||
+ | import json | ||
+ | </code> | ||
+ | |||
+ | **GET** | ||
+ | |||
+ | <code python> | ||
+ | @main.route("/api/<int:param1>/<string:param2>", methods=["GET"]) | ||
+ | def main_get(param1, param2): | ||
+ | |||
+ | # récupérer les données selon les paramètres envoyés | ||
+ | result = ... | ||
+ | |||
+ | return jsonify(result) | ||
+ | </code> | ||
+ | |||
+ | Exemple: [[http://localhost:5000/main/api/123/abcde]] | ||
+ | |||
+ | **POST** | ||
+ | |||
+ | <code python> | ||
+ | @main.route("/api", methods=["POST"]) | ||
+ | def main_post(): | ||
+ | |||
+ | # lire les données envoyées dans le corps de la requête POST | ||
+ | data = json.loads(request.data) | ||
+ | |||
+ | # traiter et enregistrer les données | ||
+ | |||
+ | return jsonify({ | ||
+ | "message": "Ajout OK" | ||
+ | }) | ||
+ | </code> | ||
+ | |||
+ | **PUT** | ||
+ | |||
+ | <code python> | ||
+ | @main.route("/api", methods=["PUT"]) | ||
+ | def main_put(): | ||
+ | |||
+ | # lire les données envoyées dans le corps de la requête PUT | ||
+ | data = json.loads(request.data) | ||
+ | |||
+ | # traiter et enregistrer les données | ||
+ | |||
+ | return jsonify({ | ||
+ | "message": "Modification OK" | ||
+ | }) | ||
+ | </code> | ||
+ | |||
+ | **DELETE** | ||
+ | |||
+ | <code python> | ||
+ | @main.route("/api/<int:id>", methods=["DELETE"]) | ||
+ | def main_delete(id): | ||
+ | |||
+ | # Supprimer la donnée selon le paramètre envoyé | ||
+ | |||
+ | return jsonify({ | ||
+ | "message": "Suppression OK" | ||
+ | }) | ||
+ | </code> | ||