FastAPI ist das schnellste (wahrscheinlich schnellste) Web-Framework zum Erstellen einer API in Python 3.8+. Es bietet die automatische Generierung der Dokumentations-API mit Swagger UI aus Codeanmerkungen. Dies ist eine sehr nützliche Funktion für Entwickler, die das Framework und die Funktionen der API überwachen müssen.
Manchmal möchten Sie jedoch während des Entwicklungsprozesses oder in der Produktion möglicherweise docs (FastAPI-Dokumentation) deaktivieren. Verschiedene Situationen erfordern möglicherweise, dass Sie die Dokumentation vor Benutzern ausblenden, oder Sie bevorzugen vielleicht ein anderes Tool zum Erstellen der Dokumentation Ihrer API, das Ihren Bedürfnissen besser entspricht. Wie auch immer, FastAPI bietet eine einfache Möglichkeit, docs ohne Änderungen an Ihrem Code zu deaktivieren.
Wenn Sie die Dokumentation deaktivieren möchten, müssen Sie beim Erstellen des FastAPI-Objekts lediglich die Option "docs_url" auf "None" setzen. Es sieht folgendermaßen aus:
from fastapi import FastAPI app = FastAPI(docs_url=None)
Danach wird die FastAPI-Dokumentation vollständig deaktiviert, und wenn Sie versuchen, auf die Adresse zuzugreifen "http://localhost:8000/docs " oder eine andere angegebene URL, Sie erhalten den Fehler "404 Not Found".
Denken Sie daran, den FastAPI-Server neu zu starten, nachdem Sie die Änderungen vorgenommen haben. Jetzt können Sie FastAPI ohne Dokumentation verwenden oder ein anderes Werkzeug auswählen, das für Ihr Projekt am besten geeignet ist.
Wie kann ich die Docs-Unterstützung in FastAPI deaktivieren
Sie können die Option verwenden, um die Unterstützung für FastAPI-Dokumente zu deaktivieren docs_url. Setzen Sie den Wert dieser Option auf None, um die Dokumentationsgenerierung vollständig zu deaktivieren.
from fastapi import FastAPIapp = FastAPI(docs_url=None)
Wenn Sie nun auf die Dokumentations-URL zugreifen, wird eine HTTP-Antwort mit dem Status 404 zurückgegeben.
Wenn Sie nur Swagger UI oder ReDoc deaktivieren möchten, können Sie die Optionen verwenden swagger_ui_url oder redoc_url entsprechend.
Um beispielsweise die Swagger-Benutzeroberfläche zu deaktivieren, setzen Sie den Wert auf swagger_ui_url in None:
from fastapi import FastAPIapp = FastAPI(swagger_ui_url=None)
Auf diese Weise können Sie FastAPI an Ihre Bedürfnisse anpassen und die Generierung der API-Dokumentation deaktivieren, wenn dies in Ihrem Projekt erforderlich ist.
Methode #1: Deaktivieren der automatischen Dokumentationsgenerierung
FastAPI enthält ein integriertes Tool zur automatischen Generierung interaktiver API-Dokumentation, das auf dem OpenAPI-Standard (früher als Swagger bekannt) basiert.
Wenn Sie diese Funktion in Ihrer FastAPI-Anwendung nicht benötigen, können Sie sie deaktivieren, indem Sie die folgenden Schritte ausführen:
Schritt 1:
Öffnen Sie die Datei, in der Ihre FastAPI-Anwendung definiert ist (normalerweise eine Datei mit dem Namen "main.py "oder "app.py ").
Schritt 2:
Importieren Sie das Symbol "FastAPI" und erstellen Sie eine Instanz Ihrer FastAPI-Anwendung:
from fastapi import FastAPI
Schritt 3:
Entfernen oder kommentieren Sie die folgende Codezeile, die die automatische Generierung der Dokumentation aktiviert:
from fastapi.staticfiles import StaticFiles
app.mount("/static", StaticFiles(directory="static"), name="static")
Jetzt generiert FastAPI keine Online-Dokumentation automatisch. Stattdessen erhalten Sie eine 404-Fehlermeldung, wenn Sie versuchen, die Dokumentations-URL zu öffnen.
Sie können weiterhin FastAPI verwenden, um Ihre API zu erstellen, aber jetzt müssen Sie Ihre eigene Dokumentation manuell erstellen oder ein anderes Dokumentationsgenerierungstool wie Swagger UI oder ReDoc verwenden.
Methode #2: Verwenden der Einstellung "docs_url"
Anstelle des Standardwerts "/docs" können Sie einen anderen Wert festlegen, z. B. "/api/docs".
Um die Dokumentation vollständig zu deaktivieren, setzen Sie diese Einstellung einfach auf "None".
Hier ist ein Beispielcode:
from fastapi import FastAPIapp = FastAPI(docs_url=None)
Nachdem Sie diese Einstellung angewendet haben, ist die FastAPI-Dokumentation nicht über eine beliebige URL verfügbar.
Die Verwendung der Einstellung "docs_url" bietet eine bequeme Möglichkeit, die Verfügbarkeit der Dokumentation in Ihrer FastAPI-Anwendung zu steuern.
Methode #3: Deaktivieren des Entwicklermodus
Die FastAPI-Dokumentation bietet die Möglichkeit, den Entwicklermodus zu deaktivieren, der automatisch Seiten mit der API-Dokumentation generiert.
Um den Entwicklermodus zu deaktivieren, müssen Sie die Einstellung ändern debug auf False beim Erstellen einer Instanz FastAPI:
from fastapi import FastAPIapp = FastAPI(debug=False)
Danach sehen Sie keine API-Dokumentationsseiten mehr, wenn Sie auf /docs oder /redoc zugreifen.
Methode #4: Verwenden der Einstellung "openapi_url"
Wenn Sie den Zugriff auf die FastAPI-Dokumentation vollständig deaktivieren möchten, können Sie die Einstellung "openapi_url" verwenden.
Wenn Sie diese Einstellung auf None setzen, deaktivieren Sie die automatische Generierung und Anzeige der Dokumentation. Dies ist nützlich, wenn Sie andere Tools zum Dokumentieren Ihrer API oder zum Entwickeln der First-Party-API verwenden möchten.
Sie können beispielsweise den Wert "openapi_url" wie folgt auf None festlegen:
from fastapi import FastAPIapp = FastAPI(openapi_url=None)
Danach wird der Fehler 404 "Not Found" zurückgegeben, wenn die Dokumentation im Pfad /docs angefordert wird.
Wenn Sie die Dokumentation auch in einer bestimmten Umgebung einschließen möchten, z. B. nur in der Entwicklung, können Sie eine bedingte Anweisung verwenden:
from fastapi import FastAPIimport osif os.getenv("ENVIRONMENT") == "development":app = FastAPI()else:app = FastAPI(openapi_url=None)
Die Dokumentation ist jetzt nur verfügbar, wenn die Umgebungsvariable "ENVIRONMENT" den Wert "development" hat. Andernfalls wird es vollständig deaktiviert.