如何在FastAPI中使用Swagger UI來展示API文件
導言:
在現代Web開發中,API是不可或缺的一部分。為了方便開發和維護,我們需要提供一個友好且易於使用的API文檔,以便其他開發人員可以了解和使用我們的API。 Swagger是一種受歡迎的API文件格式和工具,它提供了一個互動的UI介面,可以直觀地展示API的細節。在本文中,我將向您展示如何在FastAPI中使用Swagger UI來展示API文件。
安裝依賴
首先,我們需要安裝FastAPI和相關的依賴。可以使用以下命令進行安裝:
pip install fastapi[all]
這將安裝FastAPI及其所需的所有依賴項,包括Swagger UI。
建立FastAPI應用程式
接下來,我們將建立一個FastAPI應用程式。在一個新的Python檔案中,編寫以下程式碼:
from fastapi import FastAPI app = FastAPI() @app.get("/") async def root(): return {"message": "Hello World"}
這個簡單的應用程式定義了一個根路由,用於傳回一個簡單的「Hello World」訊息。
新增Swagger UI
為了加入Swagger UI到我們的應用程式中,我們需要匯入相關的FastAPI元件。將以下程式碼加入我們的應用程式檔案:
from fastapi import FastAPI from fastapi.openapi.utils import get_openapi from fastapi.openapi.docs import get_swagger_ui_html app = FastAPI() @app.get("/") async def root(): return {"message": "Hello World"} def custom_swagger_ui_html(*, request): openapi_url = app.openapi_url swagger_url = openapi_url.replace("/openapi.json", "/swagger") return get_swagger_ui_html( openapi_url=openapi_url, title=app.title + " - Swagger UI", oauth2_redirect_url=swagger_url + "/oauth2-redirect.html", swagger_js_url="/static/swagger-ui-bundle.js", swagger_css_url="/static/swagger-ui.css", ) app.openapi = get_openapi(title="My API") @app.get("/swagger", include_in_schema=False) async def swagger_ui_html(request: Request): return custom_swagger_ui_html(request=request) app.mount("/static", StaticFiles(directory="static"), name="static")
在程式碼中,我們建立了一個名為custom_swagger_ui_html
的自訂函數。這個函數將會使用FastAPI提供的get_swagger_ui_html
函數來產生Swagger UI的HTML頁面。我們也為Swagger UI定義了一些URL和靜態檔案的路徑。
運行應用程式
現在我們的應用程式已經準備就緒,可以運行它了。在終端機中,使用以下命令來啟動應用程式:
uvicorn main:app --reload
這將啟動我們的應用,並使其運行在本地的預設位址http://localhost:8000
上。
http://localhost:8000/swagger
,你會看到一個互動式的Swagger UI介面。它將顯示您的API的詳細信息,包括路由、請求和回應模型等等。 結論:
透過使用FastAPI和Swagger UI,我們可以輕鬆地展示和瀏覽我們的API文件。這使得開發人員可以更方便地了解和使用我們的API。希望這篇文章能對您在FastAPI中使用Swagger UI展示API文件有所幫助。
以上就是如何在FastAPI中使用Swagger UI來展示API文件的指南。希望本文能對您有幫助。謝謝閱讀!
以上是如何在FastAPI中使用Swagger UI展示API文檔的詳細內容。更多資訊請關注PHP中文網其他相關文章!