3.5 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 Dictionary 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 hl[3] *}
... 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 hl[3] *}
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[8:23] hl[17: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 hl[3] *}
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.
Nur-JavaScript-Einstellungen
Die Swagger-Oberfläche erlaubt, dass andere Konfigurationen auch Nur-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.