====== API REST ====== * W3Schools : [[https://www.w3schools.com/tags/ref_httpmethods.asp|HTTP Request Methods]] Extensions Firefox pour tester une API REST : * [[https://addons.mozilla.org/fr/firefox/addon/rest-client-apishub|REST Client APIsHub]] ===== Verbes de requêtes HTTP ===== ^ Http ^ Crud ^ Description ^ ^ POST | **C**reate | Ajouter | ^ GET | **R**ead | Lire | ^ PUT | **U**pdate | Modifier | ^ DELETE | **D**elete | Supprimer | ===== Exemples ===== from flask import request, jsonify import json **GET** @main.route("/api//", methods=["GET"]) def main_get(param1, param2): # récupérer les données selon les paramètres envoyés result = ... return jsonify(result) Exemple: [[http://localhost:5000/main/api/123/abcde]] **POST** @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" }) **PUT** @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" }) **DELETE** @main.route("/api/", methods=["DELETE"]) def main_delete(id): # Supprimer la donnée selon le paramètre envoyé return jsonify({ "message": "Suppression OK" })