committed by
GitHub
1 changed files with 78 additions and 0 deletions
@ -0,0 +1,78 @@ |
|||
# Swagger-Oberfläche konfigurieren |
|||
|
|||
Sie können einige zusätzliche <a href="https://swagger.io/docs/open-source-tools/swagger-ui/usage/configuration" class="external-link" target="_blank">Parameter der Swagger-Oberfläche</a> 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: |
|||
|
|||
<img src="/img/tutorial/extending-openapi/image02.png"> |
|||
|
|||
Sie können sie jedoch deaktivieren, indem Sie `syntaxHighlight` auf `False` setzen: |
|||
|
|||
```Python hl_lines="3" |
|||
{!../../../docs_src/configure_swagger_ui/tutorial001.py!} |
|||
``` |
|||
|
|||
... und dann zeigt die Swagger-Oberfläche die Syntaxhervorhebung nicht mehr an: |
|||
|
|||
<img src="/img/tutorial/extending-openapi/image03.png"> |
|||
|
|||
## 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): |
|||
|
|||
```Python hl_lines="3" |
|||
{!../../../docs_src/configure_swagger_ui/tutorial002.py!} |
|||
``` |
|||
|
|||
Obige Konfiguration würde das Theme für die Farbe der Syntaxhervorhebung ändern: |
|||
|
|||
<img src="/img/tutorial/extending-openapi/image04.png"> |
|||
|
|||
## 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: |
|||
|
|||
```Python |
|||
{!../../../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: |
|||
|
|||
```Python hl_lines="3" |
|||
{!../../../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 <a href="https://swagger.io/docs/open-source-tools/swagger-ui/usage/configuration" class="external-link" target="_blank">Dokumentation für die Parameter der Swagger-Oberfläche</a>. |
|||
|
|||
## 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: |
|||
|
|||
```JavaScript |
|||
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. |
Loading…
Reference in new issue