FastOpenAPI
FastOpenAPI ist eine Bibliothek zur Generierung und Integration von OpenAPI-Schemas mit Pydantic und verschiedenen Frameworks.
Dieses Projekt wurde von FastAPI inspiriert und zielt darauf ab, eine ähnlich entwicklerfreundliche Erfahrung zu bieten.
Über das Projekt
FastOpenAPI ist eine Python-Bibliothek zur Generierung und Integration von OpenAPI-Schemas mithilfe von Pydantic-Modellen in verschiedenen Webframeworks. Inspiriert von FastAPI bietet sie eine vergleichbare Entwicklererfahrung – aber für Frameworks wie AIOHTTP, Falcon, Flask, Quart, Sanic, Starlette und Tornado. Mit FastOpenAPI kannst du interaktive API-Dokumentation und automatische Validierung zu bestehenden Projekten hinzufügen, ohne das Framework wechseln zu müssen.
FastOpenAPI befindet sich derzeit in aktiver Entwicklung (noch vor Version 1.0). Die Bibliothek ist schon jetzt einsatzfähig, aber Änderungen sind möglich. Feedback und Beiträge sind sehr willkommen.
Merkmale
- Automatische OpenAPI-Generierung – definiere deine Routen und Modelle, FastOpenAPI erstellt automatisch eine vollständige OpenAPI-Spezifikation.
- Unterstützung für Pydantic v2 – nutzt Pydantic zur Validierung und Serialisierung von Daten, sowohl für Anfragen als auch für Antworten.
- Multi-Framework-Unterstützung – unterstützt AIOHTTP, Falcon, Flask, Quart, Sanic, Starlette und Tornado.
- FastAPI-ähnlicher Routing-Stil – verwende
@router.get
,@router.post
etc., ähnlich wie bei FastAPI. - Interaktive Dokumentation – Swagger UI (
/docs
) und ReDoc (/redoc
) sind direkt integriert. - Fehlerbehandlung und Validierung – bei ungültigen Daten wird ein JSON-Fehler zurückgegeben. Enthält Standardfehlerklassen für 400, 404 usw.
Verwende die Navigation auf der linken Seite, um die Dokumentation zu erkunden. Beginne mit den Abschnitten Installation und Schnellstart, und fahre fort mit Verwendung. Für jedes unterstützte Framework gibt es eine eigene Seite. Fortgeschrittene Themen findest du unter Erweiterte Nutzung und API-Referenz. Wenn du mithelfen möchtest, schau unter Mitwirken. Änderungen findest du im Changelog, häufige Fragen unter FAQ.