fastapi/docs/ru/docs/how-to/configure-swagger-ui.md

71 lines
4.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Настройка Swagger UI { #configure-swagger-ui }
Вы можете настроить дополнительные <a href="https://swagger.io/docs/open-source-tools/swagger-ui/usage/configuration/" class="external-link" target="_blank">параметры Swagger UI</a>.
Чтобы настроить их, передайте аргумент `swagger_ui_parameters` при создании объекта приложения `FastAPI()` или в функцию `get_swagger_ui_html()`.
`swagger_ui_parameters` принимает словарь с настройками, которые передаются в Swagger UI напрямую.
FastAPI преобразует эти настройки в **JSON**, чтобы они были совместимы с JavaScript, поскольку именно это требуется Swagger UI.
## Отключить подсветку синтаксиса { #disable-syntax-highlighting }
Например, вы можете отключить подсветку синтаксиса в Swagger UI.
Без изменения настроек подсветка синтаксиса включена по умолчанию:
<img src="/img/tutorial/extending-openapi/image02.png">
Но вы можете отключить её, установив `syntaxHighlight` в `False`:
{* ../../docs_src/configure_swagger_ui/tutorial001.py hl[3] *}
…и после этого Swagger UI больше не будет показывать подсветку синтаксиса:
<img src="/img/tutorial/extending-openapi/image03.png">
## Изменить тему { #change-the-theme }
Аналогично вы можете задать тему подсветки синтаксиса с ключом "syntaxHighlight.theme" (обратите внимание, что посередине стоит точка):
{* ../../docs_src/configure_swagger_ui/tutorial002.py hl[3] *}
Эта настройка изменит цветовую тему подсветки синтаксиса:
<img src="/img/tutorial/extending-openapi/image04.png">
## Изменить параметры Swagger UI по умолчанию { #change-default-swagger-ui-parameters }
FastAPI включает некоторые параметры конфигурации по умолчанию, подходящие для большинства случаев.
Это включает следующие настройки по умолчанию:
{* ../../fastapi/openapi/docs.py ln[9:24] hl[18:24] *}
Вы можете переопределить любую из них, указав другое значение в аргументе `swagger_ui_parameters`.
Например, чтобы отключить `deepLinking`, можно передать такие настройки в `swagger_ui_parameters`:
{* ../../docs_src/configure_swagger_ui/tutorial003.py hl[3] *}
## Другие параметры Swagger UI { #other-swagger-ui-parameters }
Чтобы увидеть все остальные возможные настройки, прочитайте официальную <a href="https://swagger.io/docs/open-source-tools/swagger-ui/usage/configuration/" class="external-link" target="_blank">документацию по параметрам Swagger UI</a>.
## Настройки только для JavaScript { #javascript-only-settings }
Swagger UI также допускает другие настройки, которые являются **чисто JavaScript-объектами** (например, JavaScript-функциями).
FastAPI также включает следующие настройки `presets` (только для JavaScript):
```JavaScript
presets: [
SwaggerUIBundle.presets.apis,
SwaggerUIBundle.SwaggerUIStandalonePreset
]
```
Это объекты **JavaScript**, а не строки, поэтому напрямую передать их из Python-кода нельзя.
Если вам нужны такие настройки только для JavaScript, используйте один из методов выше. Переопределите *операцию пути* Swagger UI и вручную напишите любой необходимый JavaScript.