Stabile APIs entstehen nicht durch das bloße Zurückgeben von JSON. Erforderlich sind ein belastbares Ressourcenmodell, eindeutige HTTP-Semantik, konsequente Eingabeprüfung, ein einheitliches Fehlerformat und überprüfbare Verträge.
Das Seminar führt von der fachlichen Modellierung über die Implementierung in Flask bis zur maschinenlesbaren OpenAPI-Beschreibung. Authentifizierung, Missbrauchsschutz, Versionierung und automatisierte Vertragstests werden von Beginn an mitgeführt.
Inhaltsübersicht
- HTTP, WSGI und Flask-Lebenszyklus
- Ressourcenmodell und HTTP-Semantik
- JSON-Validierung und Serialisierung
- Fehlerformat, Versionierung und Kompatibilität
- OpenAPI-Beschreibung und Schnittstellendokumentation
- API-Authentifizierung, Autorisierung und Missbrauchsschutz
- Service-, Repository- und Domänenschichten
- API-, Vertrags- und Integrationstests
- Strukturiertes Logging und Korrelationskennungen
- Praxisprojekt und Wissenssicherung
Lernziele
- Ressourcen und Operationen in konsistente HTTP-Verträge überführen.
- JSON-Eingaben und -Ausgaben mit expliziten Schemas absichern.
- Einheitliche Fehlerobjekte und eine tragfähige Versionierungsstrategie entwickeln.
- OpenAPI-Beschreibungen mit der Implementierung synchron halten.
- Zugriffsschutz, Ratenbegrenzung und Vertragstests integrieren.
Zielgruppe
Backend-Entwickler, Integrationsentwickler, Softwarearchitekten und Teams, die interne oder öffentliche HTTP-Schnittstellen mit Flask entwickeln und pflegen.
Voraussetzungen
Gute Python-Kenntnisse, sichere Grundlagen in Flask sowie ein grundlegendes Verständnis von HTTP. Datenbankkenntnisse sind für die Übungen hilfreich.
Seminarinhalte
1. HTTP, WSGI und Flask-Lebenszyklus
Das Zusammenspiel von Browser, Reverse Proxy, WSGI-Server und Anwendung wird technisch eingeordnet.
- Schritt 1: HTTP-Anfrage, Statuscode, Header und Nachrichtentext anhand einer vollständigen Transaktion zerlegen.
- Schritt 2: WSGI-Anwendung und Serverrolle unterscheiden und die Grenzen des integrierten Entwicklungsservers festhalten.
- Schritt 3: Anwendungs-, Request- und Response-Lebenszyklus mit Hooks und Kontextobjekten nachvollziehen.
- Schritt 4: Eine Anfrage vom Eingang bis zur Antwort protokollieren und Fehlerstellen den zuständigen Schichten zuordnen.
2. Ressourcenmodell und HTTP-Semantik
API-Endpunkte werden aus fachlichen Ressourcen und stabilen HTTP-Kontrakten abgeleitet.
- Schritt 1: Ressourcen, Identitäten und Beziehungen aus Anwendungsfällen bestimmen.
- Schritt 2: Methoden, Statuscodes und Idempotenz pro Operation festlegen.
- Schritt 3: Filter, Sortierung, Pagination und Feldselektion konsistent definieren.
- Schritt 4: Beispielrequests und -responses als überprüfbare Verträge formulieren.
3. JSON-Validierung und Serialisierung
Eingaben und Ausgaben werden über explizite Schemas kontrolliert, damit interne Modelle nicht ungefiltert nach außen gelangen.
- Schritt 1: Content-Type und JSON-Struktur vor fachlicher Verarbeitung prüfen.
- Schritt 2: Pflichtfelder, Typen, Formate und verschachtelte Objekte in Schemas festlegen.
- Schritt 3: Eingabe-, Domänen- und Ausgabemodelle voneinander trennen.
- Schritt 4: Unbekannte Felder, Nullwerte und Versionsunterschiede automatisiert testen.
4. Fehlerformat, Versionierung und Kompatibilität
Fehlerantworten und Änderungsregeln werden als Teil des öffentlichen API-Vertrags behandelt.
- Schritt 1: Einheitliches Fehlerobjekt mit Code, Meldung, Details und Korrelationskennung definieren.
- Schritt 2: Validierungs-, Authentifizierungs-, Konflikt- und Serverfehler eindeutig abbilden.
- Schritt 3: Versionierungsstrategie für Pfad, Header oder Medienformat anhand der Produktanforderungen wählen.
- Schritt 4: Abwärtskompatibilität und Deprecation-Verhalten mit Vertragstests absichern.
5. OpenAPI-Beschreibung und Schnittstellendokumentation
Die maschinenlesbare Beschreibung wird aus realen Verträgen aufgebaut und gegen die Implementierung geprüft.
- Schritt 1: Operationen, Parameter, Schemas und Antwortvarianten vollständig modellieren.
- Schritt 2: Sicherheitsverfahren, Beispiele und Fehlerobjekte in der Spezifikation ergänzen.
- Schritt 3: Dokumentation aus der Spezifikation bereitstellen, ohne interne Verwaltungsendpunkte offenzulegen.
- Schritt 4: Spezifikation linten und Abweichungen zur Laufzeit in der CI erkennen.
6. API-Authentifizierung, Autorisierung und Missbrauchsschutz
Zugriffsschutz wird pro Ressource und Operation durchgesetzt und gegen automatisierten Missbrauch ergänzt.
- Schritt 1: Sitzungs-, Token- und föderierte Verfahren nach Clienttyp auswählen.
- Schritt 2: Berechtigungen in Services prüfen und nicht allein auf ausgeblendete Routen vertrauen.
- Schritt 3: Ratenbegrenzung, Größenlimits und Schutz vor wiederholten Fehlversuchen planen.
- Schritt 4: Fehlende, abgelaufene und manipulierte Zugangsdaten mit Negativtests prüfen.
7. Service-, Repository- und Domänenschichten
Geschäftslogik wird von HTTP und Persistenz getrennt, damit sie unabhängig testbar und wiederverwendbar bleibt.
- Schritt 1: View-Funktionen auf Eingabe, Serviceaufruf und Response-Abbildung reduzieren.
- Schritt 2: Services für Anwendungsfälle und Repositories für Datenzugriffe definieren.
- Schritt 3: Domänenfehler statt HTTP-Ausnahmen aus tieferen Schichten zurückgeben.
- Schritt 4: Servicefälle mit Fakes testen und Integrationspfade separat absichern.
8. API-, Vertrags- und Integrationstests
Schnittstellen werden gegen Statuscodes, Schemas, Nebenwirkungen und Kompatibilitätsregeln getestet.
- Schritt 1: Test-Client mit wiederverwendbaren Authentifizierungs- und Daten-Fixtures konfigurieren.
- Schritt 2: Erfolgs-, Validierungs-, Konflikt- und Berechtigungsfälle tabellarisch abdecken.
- Schritt 3: Response-Schemas und OpenAPI-Beispiele automatisiert vergleichen.
- Schritt 4: Datenbank-, Queue- und Fremdsystemintegrationen in getrennten Teststufen prüfen.
9. Strukturiertes Logging und Korrelationskennungen
Protokolle werden so gestaltet, dass technische Abläufe und einzelne Requests zuverlässig nachvollziehbar bleiben.
- Schritt 1: Logger-Hierarchie, Level und Handler zentral konfigurieren.
- Schritt 2: Request-, Benutzer- und Korrelationskennung als strukturierte Felder ergänzen.
- Schritt 3: Sensible Daten, Tokens und vollständige Request-Körper konsequent filtern.
- Schritt 4: Logausgabe für Entwicklung und zentrale Sammlung getrennt testen.
Praxisprojekt
Eine mehrteilige Ressourcen-API wird aus Anwendungsfällen abgeleitet, implementiert, dokumentiert und getestet. Enthalten sind CRUD-Operationen, Filterung, Pagination, Validierungsfehler, Zugriffsregeln und eine OpenAPI-Spezifikation.
Methodik
Kurze fachliche Einordnungen wechseln mit Demonstrationen, geführten Umsetzungen, Fehleranalysen und eigenständigen Übungen. Jede größere Änderung wird durch einen Test, eine Diagnose oder eine betriebliche Prüfroutine abgesichert. Die Arbeitsstände werden schrittweise zu einem durchgängigen Beispielprojekt zusammengeführt.
Fachbereichsleitung / Trainerteam / Ansprechpartner
-

Lucas Beich
Telefon: + 49 (221) 74740055
E-Mail: lucas.beich@seminar-experts.de -

Paul Goldschmidt
Telefon: + 49 (221) 74740055
E-Mail: paul.goldschmidt@seminar-experts.de
Seminardetails
| Dauer: | 3 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage: 09:00 Uhr |
| Preis: |
Öffentlich oder Live Stream: € 1.797 zzgl. MwSt. Inhaus: € 5.100 zzgl. MwSt. |
| Teilnehmeranzahl: | min. 2 - max. 8 |
| Teilnehmer: | Backend-Entwickler, Integrationsentwickler, Softwarearchitekten und Teams, die interne oder öffentliche HTTP-Schnittstellen mit Flask entwickeln und pflegen. |
| Voraussetzungen: | Gute Python-Kenntnisse, sichere Grundlagen in Flask sowie ein grundlegendes Verständnis von HTTP. Datenbankkenntnisse sind für die Übungen hilfreich. |
| Standorte: | Stream Live, Inhaus/Firmenseminar, Berlin, Bremen, Darmstadt, Dresden, Erfurt, Essen, Flensburg, Frankfurt, Freiburg, Friedrichshafen, Hamburg, Hamm, Hannover, Jena, Kassel, Köln, Konstanz, Leipzig, Luxemburg, Magdeburg, Mainz, München, Münster, Nürnberg, Paderborn, Potsdam, Regensburg, Rostock, Stuttgart, Trier, Ulm, Wuppertal, Würzburg |
| Methoden: | Vortrag, Demonstrationen, praktische Übungen am System |
| Seminararten: | Öffentlich, Webinar, Inhaus, Workshop - Alle Seminare mit Trainer vor Ort, Webinar nur wenn ausdrücklich gewünscht |
| Durchführungsgarantie: | ja, ab 2 Teilnehmern |
| Sprache: | Deutsch - bei Firmenseminaren ist auch Englisch möglich |
| Seminarunterlage: | Dokumentation auf Datenträger oder als Download |
| Teilnahmezertifikat: | ja, selbstverständlich |
| Verpflegung: | Kalt- / Warmgetränke, Mittagessen (wahlweise vegetarisch) |
| Support: | 3 Anrufe im Seminarpreis enthalten |
| Barrierefreier Zugang: | an den meisten Standorten verfügbar |
| Weitere Informationen unter + 49 (221) 74740055 |
Seminartermine
Die Ergebnissliste kann durch Anklicken der Überschrift neu sortiert werden.
