📘 Tag 29
March 28, 2026 · View on GitHub
30 Tage Python: Tag 29 - API Erstellen (Building API)
Autor:
Asabeneh Yetayeh
Zweite Edition: Juli 2021

📘 Tag 29
API Erstellen
In diesem Abschnitt bauen wir eine echte RESTful API, die alle HTTP-Methoden (GET, POST, PUT, DELETE) nutzt, um Daten zu verarbeiten. Wir kombinieren dafür unser Wissen über Python, Flask und MongoDB.
Da ein Browser standardmäßig nur GET-Anfragen einfach darstellen kann, benötigen wir ein Werkzeug wie Postman oder Insomnia, um unsere API-Endpunkte professionell zu testen.
Struktur einer API
Ein API-Endpunkt ist eine URL, über die eine Ressource erreicht wird.
Beispiel: http://localhost:5000/api/v1.0/students
Daten abrufen (GET)
Zuerst erstellen wir einen Endpunkt, der uns eine Liste von Studenten als JSON zurückgibt.
from flask import Flask, Response
import json
app = Flask(__name__)
@app.route('/api/v1.0/students', methods=['GET'])
def get_students():
student_list = [
{'name': 'Asabeneh', 'country': 'Finland'},
{'name': 'David', 'country': 'UK'}
]
return Response(json.dumps(student_list), mimetype='application/json')
Daten erstellen (POST)
Mit der POST-Methode können wir neue Daten an den Server senden und in der Datenbank speichern.
@app.route('/api/v1.0/students', methods=['POST'])
def create_student():
name = request.form['name']
country = request.form['country']
# Logik zum Speichern in MongoDB...
return Response(json.dumps({'result': 'Erfolgreich erstellt'}), mimetype='application/json')
Daten aktualisieren (PUT)
PUT wird verwendet, um einen bestehenden Datensatz komplett zu ersetzen oder zu aktualisieren. Wir identifizieren den Datensatz meist über eine eindeutige ID.
Daten löschen (DELETE)
Der DELETE-Endpunkt entfernt eine Ressource aus der Datenbank.
@app.route('/api/v1.0/students/<id>', methods=['DELETE'])
def delete_student(id):
db.students.delete_one({'_id': ObjectId(id)})
return Response(json.dumps({'result': 'Gelöscht'}), mimetype='application/json')
💻 Übungen - Tag 29
- Implementiere das Beispiel aus diesem Kapitel und erstelle eine voll funktionsfähige API für eine Studentenverwaltung.
- Teste alle Endpunkte (GET, POST, PUT, DELETE) mit Postman.
- (Bonus): Füge Validierungen hinzu, sodass ein Student nicht ohne Namen gespeichert werden kann.
🎉 HERZLICEN GLÜCKWUNSCH! 🎉