Vandaag duiken we in hoe je met Flask een API opzet die jouw applicatie kan laten communiceren met andere systemen. Super handig om hiermee je applicatie op te zetten. Zo kan je bijvoorbeeld zowel je webapp als mobiele app met dezelfde server laten communiceren.
Wat is Flask?
Flask is een lichtgewicht webframework in Python dat jou de vrijheid geeft om precies te bouwen wat je nodig hebt – en niets meer. Het is net als het bouwen van je eigen LEGO-set: je hebt de basisstukken en je kunt er eindeloos mee knutselen. Dankzij de duidelijke structuur en de grote community is er altijd wel iemand die je verder kan helpen. Wil je meer weten over de kracht van Flask? Bekijk dan zeker de uitgebreide tutorial op Python Flask tutorial van Programmeren in Python.
Een simpele webserver opzetten
Laten we beginnen met een eenvoudig voorbeeld. Stel je voor: je wilt een kleine webserver bouwen die “Welkom bij mijn Flask-app!” laat zien. Dat doe je als volgt
from flask import Flask
app = Flask(__name__) # Maak een nieuwe Flask-applicatie
@app.route("/") # Definieer de route voor de homepagina
def home():
return "Welkom bij mijn Flask-app!"
if __name__ == "__main__":
app.run(debug=True) # Start de server in debug-modus
In dit voorbeeld creëer je een basisapplicatie, definieer je een route met @app.route("/") en start je de server. Simpel, toch?
Routes en API-endpoints: De bouwstenen van jouw API
Met Flask bepaal je met routes welke URL’s welke functionaliteit bieden. Je kunt routes zo simpel of dynamisch maken als je zelf wilt. Hier een voorbeeld van een dynamische route:
@app.route("/user/<username>")
def greet_user(username):
return f"Hoi {username}, welkom op mijn API!"
Probeer localhost:5000/user/Joost in te typen in je browser en zie hoe de pagina jou persoonlijk begroet. Het mooie is dat je met dynamische routes veel flexibiliteit hebt!
HTTP methodes gebruiken
Zo net zagen we al hoe we een route maakte maar deze kunnen ook worden uitgebreid met de welbekende: GET, POST, PUT en DELETE methodes. Zie hieronder hoe je dit makkelijk doorvoert:
from flask import request, jsonify
@app.route("/api/users", methods=["POST"])
def create_user():
new_user = request.json # Haal de JSON-data op uit het verzoek
users.append(new_user) # Voeg de nieuwe gebruiker toe
return jsonify(new_user), 201 # Retourneer de gebruiker met status 201 (Created)
En daar heb je het! Met slechts enkele regels code heb je een werkende API in Python met Flask opgezet. Het leuke aan Flask is dat je er stap voor stap je project kunt uitbreiden, van een simpele webserver tot een volledig uitgeruste API. Zoals je hebt gezien, is er veel ruimte om te experimenteren en je creativiteit de vrije loop te laten.
Voor meer verdieping en voorbeelden, raad ik je aan om eens te kijken naar de uitgebreide tutorial op Programmeren in Python.
Leuk en nuttig! Heb je ook ideen over projecten in Flask?