3.3 KiB
Swagger-Oberfläche konfigurieren
Sie können einige zusätzliche Parameter der Swagger-Oberfläche konfigurieren.
Um diese zu konfigurieren, übergeben Sie das Argument swagger_ui_parameters
beim Erstellen des FastAPI()
-App-Objekts oder an die Funktion get_swagger_ui_html()
.
swagger_ui_parameters
empfängt ein Dict mit den Konfigurationen, die direkt an die Swagger-Oberfläche übergeben werden.
FastAPI konvertiert die Konfigurationen nach JSON, um diese mit JavaScript kompatibel zu machen, da die Swagger-Oberfläche das benötigt.
Syntaxhervorhebung deaktivieren
Sie könnten beispielsweise die Syntaxhervorhebung in der Swagger-Oberfläche deaktivieren.
Ohne Änderung der Einstellungen ist die Syntaxhervorhebung standardmäßig aktiviert:

Sie können sie jedoch deaktivieren, indem Sie syntaxHighlight
auf False
setzen:
{!../../../docs_src/configure_swagger_ui/tutorial001.py!}
... und dann zeigt die Swagger-Oberfläche die Syntaxhervorhebung nicht mehr an:

Das Theme ändern
Auf die gleiche Weise könnten Sie das Theme der Syntaxhervorhebung mit dem Schlüssel syntaxHighlight.theme
festlegen (beachten Sie, dass er einen Punkt in der Mitte hat):
{!../../../docs_src/configure_swagger_ui/tutorial002.py!}
Obige Konfiguration würde das Theme für die Farbe der Syntaxhervorhebung ändern:

Defaultparameter der Swagger-Oberfläche ändern
FastAPI enthält einige Defaultkonfigurationsparameter, die für die meisten Anwendungsfälle geeignet sind.
Es umfasst die folgenden Defaultkonfigurationen:
{!../../../fastapi/openapi/docs.py[ln:7-23]!}
Sie können jede davon überschreiben, indem Sie im Argument swagger_ui_parameters
einen anderen Wert festlegen.
Um beispielsweise deepLinking
zu deaktivieren, könnten Sie folgende Einstellungen an swagger_ui_parameters
übergeben:
{!../../../docs_src/configure_swagger_ui/tutorial003.py!}
Andere Parameter der Swagger-Oberfläche
Um alle anderen möglichen Konfigurationen zu sehen, die Sie verwenden können, lesen Sie die offizielle Dokumentation für die Parameter der Swagger-Oberfläche.
JavaScript-basierte Einstellungen
Die Swagger-Oberfläche erlaubt, dass andere Konfigurationen auch JavaScript-Objekte sein können (z. B. JavaScript-Funktionen).
FastAPI umfasst auch diese Nur-JavaScript-presets
-Einstellungen:
presets: [
SwaggerUIBundle.presets.apis,
SwaggerUIBundle.SwaggerUIStandalonePreset
]
Dabei handelt es sich um JavaScript-Objekte, nicht um Strings, daher können Sie diese nicht direkt vom Python-Code aus übergeben.
Wenn Sie solche JavaScript-Konfigurationen verwenden müssen, können Sie einen der früher genannten Wege verwenden. Überschreiben Sie alle Pfadoperationen der Swagger-Oberfläche und schreiben Sie manuell jedes benötigte JavaScript.