Maison > Article > développement back-end > Programmation serveur Python : créer une API RESTful avec Flask
Programmation de serveur Python : créez une API RESTful avec Flask
Python a toujours été l'un des langages populaires pour développer des applications Web. C'est un langage facile à utiliser, riche en fonctionnalités, flexible et efficace. L'utilisation des API RESTful dans les applications Web est devenue une tendance très populaire. L'utilisation du framework Flask en Python est une excellente option pour la programmation Web et la création d'API RESTful. Dans cet article, nous examinerons en profondeur comment créer une API RESTful à l'aide du framework Flask.
Tout d’abord, nous devons comprendre l’API RESTful. L'API RESTful est un style de conception d'API basé sur le protocole HTTP/HTTPS, qui utilise une interface unifiée pour transmettre des données entre le client et le serveur. L'API RESTful présente les caractéristiques suivantes :
Ensuite, nous utiliserons le framework Flask pour construire une API RESTful. Flask est un framework Web léger écrit en Python, facile à apprendre et à utiliser. Le framework Flask dispose d'une riche bibliothèque d'extensions qui peut répondre à divers besoins. Les avantages de l'utilisation du framework Flask incluent :
Vous devez l'installer d'abord Le framework Flask peut être installé via la commande suivante :
pip install flask
Ensuite, nous commençons à construire une API RESTful en utilisant le framework Flask. Tout d’abord, nous devons écrire un programme Hello World pour vérifier que le framework Flask a été correctement installé. Nous pouvons définir une application Flask et définir une route '/' pour gérer les requêtes. Le code est le suivant :
from flask import Flask app = Flask(__name__) @app.route('/') def helloWorld(): return 'Hello, World!' if __name__ == '__main__': app.run(debug=True)
Entrez « http://localhost:5000/ » dans le navigateur, « Hello, World ! » s'affichera.
Ensuite, nous présenterons comment utiliser le framework Flask pour créer une API RESTful.
Tout d'abord, nous définissons une application Flask et créons une route pour répondre aux requêtes GET. Le code est le suivant :
from flask import Flask, jsonify app = Flask(__name__) books = [ { 'id': 1, 'title': 'The Great Gatsby', 'author': 'F. Scott Fitzgerald', 'published': '1925' }, { 'id': 2, 'title': 'To Kill a Mockingbird', 'author': 'Harper Lee', 'published': '1960' } ] @app.route('/books/<int:id>', methods=['GET']) def get_book(id): for book in books: if book['id'] == id: return jsonify(book) return jsonify({'error': 'Book not found'}) if __name__ == '__main__': app.run(debug=True)
Dans le code ci-dessus, nous définissons une liste de livres, contenant deux dictionnaires, chaque dictionnaire représentant un livre. Une route '/books/' est définie, en passant un paramètre d'identifiant entier en utilisant '3e2f7d559aac0f0aeba61111f4764f61'. Dans la fonction, nous parcourons pour rechercher des livres par identifiant, et s'ils sont trouvés, renvoyons les détails de la librairie, sinon renvoyons un message d'erreur.
Entrez « http://localhost:5000/books/1 » dans le navigateur et des informations détaillées sur un livre nommé « The Great Gatsby » seront renvoyées.
Ensuite, nous étendrons le code ci-dessus pour prendre en charge d'autres méthodes de requêtes HTTP.
@app.route('/books', methods=['GET', 'POST']) def handle_books(): if request.method == 'GET': return jsonify(books) if request.method == 'POST': new_book = { 'id': len(books) + 1, 'title': request.form['title'], 'author': request.form['author'], 'published': request.form['published'] } books.append(new_book) return jsonify(new_book)
Dans le code ci-dessus, nous avons défini une nouvelle route '/books' pour gérer les requêtes HTTP GET et POST. Dans une requête GET, nous renvoyons la liste complète des livres. Dans la requête POST, nous ajoutons le nouveau livre à la liste des livres.
Ensuite, nous implémenterons les méthodes DELETE et PUT.
@app.route('/books/<int:id>', methods=['GET', 'PUT', 'DELETE']) def handle_book(id): if request.method == 'GET': for book in books: if book['id'] == id: return jsonify(book) return jsonify({'error': 'Book not found'}) if request.method == 'PUT': for book in books: if book['id'] == id: book['title'] = request.form['title'] book['author'] = request.form['author'] book['published'] = request.form['published'] return jsonify(book) return jsonify({'error': 'Book not found'}) if request.method == 'DELETE': for book in books: if book['id'] == id: books.remove(book) return jsonify({'message': 'Book deleted'}) return jsonify({'error': 'Book not found'})
Dans le code ci-dessus, nous étendons la gestion de la route '/books/3e2f7d559aac0f0aeba61111f4764f61'. Dans la requête GET, on recherche le livre associé à l'id. Dans la requête PUT, nous mettons à jour le livre associé à l'id. Dans la demande DELETE, nous supprimons le livre lié à l'identifiant.
Jusqu'à présent, nous avons appris à créer une API RESTful à l'aide de Flask. Nous avons vu comment utiliser Flask pour définir des ressources et les exposer aux requêtes HTTP. Nous avons également appris à utiliser diverses pratiques REST pour implémenter les opérations GET, POST, PUT et DELETE. De plus, nous avons vu comment utiliser les réponses Flask pour renvoyer des données.
En bref, le framework Flask est un choix idéal pour implémenter des API RESTful. Il est rapide, simple, facile à apprendre et à utiliser, et prend en charge le langage Python. Dans cet article, nous montrons comment créer une API RESTful à l'aide de Flask. C'est si simple que vous pouvez maintenant commencer à créer votre propre API RESTful pour servir votre application.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!