====== 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"
})