2.8 KiB
設定 Swagger UI
你可以設定一些額外的 Swagger UI 參數。
要設定它們,建立 FastAPI() 應用物件時,或呼叫 get_swagger_ui_html() 函式時,傳入參數 swagger_ui_parameters。
swagger_ui_parameters 接受一個 dict,內容會直接傳給 Swagger UI 作為設定。
FastAPI 會把這些設定轉換成 JSON,以便與 JavaScript 相容,因為 Swagger UI 需要的是這種格式。
停用語法醒目提示
例如,你可以在 Swagger UI 中停用語法醒目提示(syntax highlighting)。
不更動設定時,語法醒目提示預設為啟用:
但你可以將 syntaxHighlight 設為 False 來停用它:
{* ../../docs_src/configure_swagger_ui/tutorial001_py310.py hl[3] *}
...然後 Swagger UI 就不會再顯示語法醒目提示:
更換主題
同樣地,你可以用鍵 "syntaxHighlight.theme" 設定語法醒目提示主題(注意中間有一個點):
{* ../../docs_src/configure_swagger_ui/tutorial002_py310.py hl[3] *}
這個設定會變更語法醒目提示的配色主題:
更改預設的 Swagger UI 參數
FastAPI 內建一些預設參數,適用於大多數情境。
包含以下預設設定:
{* ../../fastapi/openapi/docs.py ln[9:24] hl[18:24] *}
你可以在 swagger_ui_parameters 參數中提供不同的值來覆蓋其中任一項。
例如,要停用 deepLinking,可以在 swagger_ui_parameters 傳入以下設定:
{* ../../docs_src/configure_swagger_ui/tutorial003_py310.py hl[3] *}
其他 Swagger UI 參數
若要查看所有可用的設定,請參考官方的 Swagger UI 參數文件。
僅限 JavaScript 的設定
Swagger UI 也允許某些設定是僅限 JavaScript 的物件(例如 JavaScript 函式)。
FastAPI 也包含以下僅限 JavaScript 的 presets 設定:
presets: [
SwaggerUIBundle.presets.apis,
SwaggerUIBundle.SwaggerUIStandalonePreset
]
這些是 JavaScript 物件,而不是字串,因此無法直接從 Python 程式碼傳遞。
若需要使用這類僅限 JavaScript 的設定,你可以使用上面介紹的方法:覆寫所有 Swagger UI 的路徑操作(path operation),並手動撰寫所需的 JavaScript。