|
| 1 | +#Swagger-Oberfläche konfigurieren |
| 2 | + |
| 3 | +Sie können einige zusätzliche <ahref="https://swagger.io/docs/open-source-tools/swagger-ui/usage/configuration"class="external-link"target="_blank">Parameter der Swagger-Oberfläche</a> konfigurieren. |
| 4 | + |
| 5 | +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()`. |
| 6 | + |
| 7 | +`swagger_ui_parameters` empfängt ein Dict mit den Konfigurationen, die direkt an die Swagger-Oberfläche übergeben werden. |
| 8 | + |
| 9 | +FastAPI konvertiert die Konfigurationen nach**JSON**, um diese mit JavaScript kompatibel zu machen, da die Swagger-Oberfläche das benötigt. |
| 10 | + |
| 11 | +##Syntaxhervorhebung deaktivieren |
| 12 | + |
| 13 | +Sie könnten beispielsweise die Syntaxhervorhebung in der Swagger-Oberfläche deaktivieren. |
| 14 | + |
| 15 | +Ohne Änderung der Einstellungen ist die Syntaxhervorhebung standardmäßig aktiviert: |
| 16 | + |
| 17 | +<imgsrc="/img/tutorial/extending-openapi/image02.png"> |
| 18 | + |
| 19 | +Sie können sie jedoch deaktivieren, indem Sie`syntaxHighlight` auf`False` setzen: |
| 20 | + |
| 21 | +```Python hl_lines="3" |
| 22 | +{!../../../docs_src/configure_swagger_ui/tutorial001.py!} |
| 23 | +``` |
| 24 | + |
| 25 | +... und dann zeigt die Swagger-Oberfläche die Syntaxhervorhebung nicht mehr an: |
| 26 | + |
| 27 | +<imgsrc="/img/tutorial/extending-openapi/image03.png"> |
| 28 | + |
| 29 | +##Das Theme ändern |
| 30 | + |
| 31 | +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): |
| 32 | + |
| 33 | +```Python hl_lines="3" |
| 34 | +{!../../../docs_src/configure_swagger_ui/tutorial002.py!} |
| 35 | +``` |
| 36 | + |
| 37 | +Obige Konfiguration würde das Theme für die Farbe der Syntaxhervorhebung ändern: |
| 38 | + |
| 39 | +<imgsrc="/img/tutorial/extending-openapi/image04.png"> |
| 40 | + |
| 41 | +##Defaultparameter der Swagger-Oberfläche ändern |
| 42 | + |
| 43 | +FastAPI enthält einige Defaultkonfigurationsparameter, die für die meisten Anwendungsfälle geeignet sind. |
| 44 | + |
| 45 | +Es umfasst die folgenden Defaultkonfigurationen: |
| 46 | + |
| 47 | +```Python |
| 48 | +{!../../../fastapi/openapi/docs.py[ln:7-23]!} |
| 49 | +``` |
| 50 | + |
| 51 | +Sie können jede davon überschreiben, indem Sie im Argument`swagger_ui_parameters` einen anderen Wert festlegen. |
| 52 | + |
| 53 | +Um beispielsweise`deepLinking` zu deaktivieren, könnten Sie folgende Einstellungen an`swagger_ui_parameters` übergeben: |
| 54 | + |
| 55 | +```Python hl_lines="3" |
| 56 | +{!../../../docs_src/configure_swagger_ui/tutorial003.py!} |
| 57 | +``` |
| 58 | + |
| 59 | +##Andere Parameter der Swagger-Oberfläche |
| 60 | + |
| 61 | +Um alle anderen möglichen Konfigurationen zu sehen, die Sie verwenden können, lesen Sie die offizielle <ahref="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>. |
| 62 | + |
| 63 | +##JavaScript-basierte Einstellungen |
| 64 | + |
| 65 | +Die Swagger-Oberfläche erlaubt, dass andere Konfigurationen auch**JavaScript**-Objekte sein können (z. B. JavaScript-Funktionen). |
| 66 | + |
| 67 | +FastAPI umfasst auch diese Nur-JavaScript-`presets`-Einstellungen: |
| 68 | + |
| 69 | +```JavaScript |
| 70 | +presets: [ |
| 71 | +SwaggerUIBundle.presets.apis, |
| 72 | +SwaggerUIBundle.SwaggerUIStandalonePreset |
| 73 | +] |
| 74 | +``` |
| 75 | + |
| 76 | +Dabei handelt es sich um**JavaScript**-Objekte, nicht um Strings, daher können Sie diese nicht direkt vom Python-Code aus übergeben. |
| 77 | + |
| 78 | +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. |