Zum Hauptinhalt springen

Wie kann ich Swagger in FastAPI deaktivieren - detaillierte Anweisung

FastAPI ist ein schnelles und modernes Framework zum Erstellen von Python-basierten Webanwendungen. Es bietet viele praktische Tools und Funktionen, einschließlich der automatischen Generierung interaktiver Dokumentation mit Swagger UI.

In einigen Fällen möchten Sie jedoch möglicherweise die Swagger-Benutzeroberfläche in Ihrer FastAPI-Anwendung deaktivieren. Dies kann beispielsweise nützlich sein, wenn Sie den Zugriff auf die Dokumentation einschränken oder sie einfach aus der Produktionsumgebung entfernen möchten.

In diesem Artikel erfahren Sie, wie Sie Swagger in FastAPI deaktivieren und detaillierte Konfigurationsanweisungen bereitstellen können.

Bevor Sie mit der Konfiguration beginnen, ist es wichtig zu verstehen, dass die Swagger UI in FastAPI standardmäßig automatisch aktiviert wird, es sei denn, Sie haben in der FastAPI() -Funktion einen anderen Wert für den Parameter "openapi_url" festgelegt.

Wie kann ich Swagger in FastAPI deaktivieren

Um Swagger in FastAPI zu deaktivieren, müssen Sie den Parameter docs_url beim Initialisieren Ihrer FastAPI-Anwendung auf None ändern.

from fastapi import FastAPIapp = FastAPI(docs_url=None)

Danach wird Swagger für Ihre FastAPI-Anwendung vollständig deaktiviert. Benutzer können die Dokumentation Ihrer API nicht mehr über die Swagger-Schnittstelle anzeigen.

Anmerkung: Das Deaktivieren von Swagger kann negative Auswirkungen haben, da dies Ihre API für Entwickler weniger zugänglich macht. Es wird empfohlen, diese Funktion nur in bestimmten Fällen zu verwenden, in denen kein Zugriff auf die Dokumentation erforderlich ist.

Detaillierte Anleitung

Das Deaktivieren von Swagger in FastAPI kann nützlich sein, wenn Sie den Zugriff auf die API-Dokumentation ausblenden oder einschränken möchten, um mögliche Sicherheitsrisiken zu vermeiden oder den Zugriff auf bestimmte Benutzer oder Benutzergruppen einzuschränken.

  1. Öffnen Sie die Datei main.py, das die Hauptfunktionalität Ihrer Anwendung auf FastAPI definiert.
  2. Importieren Sie das Modul "FastAPI" wie folgt: from fastapi import FastAPI .
  3. Initialisieren Sie eine Instanz der FastAPI-Klasse: app = FastAPI() .
  4. Definieren Sie Ihre Routen und Abfrageprozessoren mithilfe von FastAPI-Dekoratoren wie @app.get() oder @app.post() .
  5. Importieren Sie das Modul "Starlette" wie folgt: from starlette.responses import PlainTextResponse .
  6. Definieren Sie eine Handlerfunktion, die auf Anforderungen reagiert, z. B.:

async def hello_world():return PlainTextResponse("Hello, world!")

Nachdem Sie diese Schritte ausgeführt haben, haben Sie einen einfachen FastAPI-Server, indem Sie Swagger und die Dokumentation deaktivieren. Stattdessen werden alle Anfragen an den Server an Ihren funktionalen Handler weitergeleitet, der alle Antworten generieren kann, die Sie benötigen.