📘 Tag 29

March 28, 2026 · View on GitHub

30 Tage Python: Tag 29 - API Erstellen (Building API)

Twitter Follow

Autor: Asabeneh Yetayeh
Zweite Edition: Juli 2021

<< Tag 28 | Tag 30 >>

30DaysOfPython

📘 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

  1. Implementiere das Beispiel aus diesem Kapitel und erstelle eine voll funktionsfähige API für eine Studentenverwaltung.
  2. Teste alle Endpunkte (GET, POST, PUT, DELETE) mit Postman.
  3. (Bonus): Füge Validierungen hinzu, sodass ein Student nicht ohne Namen gespeichert werden kann.

🎉 HERZLICEN GLÜCKWUNSCH! 🎉

<< Tag 28 | Tag 30 >>