首頁 後端開發 Python教學 如何在FastAPI中使用Swagger UI展示API文檔

如何在FastAPI中使用Swagger UI展示API文檔

Jul 30, 2023 am 10:45 AM
fastapi api文檔 swagger ui

如何在FastAPI中使用Swagger UI來展示API文件

導言:
在現代Web開發中,API是不可或缺的一部分。為了方便開發和維護,我們需要提供一個友好且易於使用的API文檔,以便其他開發人員可以了解和使用我們的API。 Swagger是一種受歡迎的API文件格式和工具,它提供了一個互動的UI介面,可以直觀地展示API的細節。在本文中,我將向您展示如何在FastAPI中使用Swagger UI來展示API文件。

  1. 安裝依賴
    首先,我們需要安裝FastAPI和相關的依賴。可以使用以下命令進行安裝:

    pip install fastapi[all]
    登入後複製

    這將安裝FastAPI及其所需的所有依賴項,包括Swagger UI。

  2. 建立FastAPI應用程式
    接下來,我們將建立一個FastAPI應用程式。在一個新的Python檔案中,編寫以下程式碼:

    from fastapi import FastAPI
    
    app = FastAPI()
    
    @app.get("/")
    async def root():
     return {"message": "Hello World"}
    登入後複製

    這個簡單的應用程式定義了一個根路由,用於傳回一個簡單的「Hello World」訊息。

  3. 新增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和靜態檔案的路徑。

  4. 運行應用程式
    現在我們的應用程式已經準備就緒,可以運行它了。在終端機中,使用以下命令來啟動應用程式:

    uvicorn main:app --reload
    登入後複製

    這將啟動我們的應用,並使其運行在本地的預設位址http://localhost:8000上。

  5. 查看API文件
    在瀏覽器中開啟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中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

如何在FastAPI中使用Nginx進行反向代理程式和負載平衡 如何在FastAPI中使用Nginx進行反向代理程式和負載平衡 Aug 01, 2023 am 09:44 AM

如何在FastAPI中使用Nginx進行反向代理程式和負載平衡引言:FastAPI和Nginx是兩個非常受歡迎的Web開發工具。 FastAPI是一個高效能的Python框架,而Nginx則是一個強大的反向代理伺服器。結合這兩個工具,可以提高Web應用程式的效能和可靠性。在本文中,我們將學習如何在FastAPI中使用Nginx進行反向代理和負載平衡。什麼是反向代

如何在FastAPI中實現請求的高並發與負載平衡 如何在FastAPI中實現請求的高並發與負載平衡 Jul 31, 2023 pm 01:50 PM

如何在FastAPI中實現請求的高並發和負載平衡引言:隨著互聯網的發展,Web應用程式的高並發成為一個常見的問題。在處理大量請求時,我們需要使用高效的框架和技術來確保系統的效能和可擴展性。 FastAPI是一個高效能的Python框架,可以幫助我們實現高並發和負載平衡。本文將介紹如何利用FastAPI來實現請求的高並發與負載平衡。我們將使用Python3.7

如何在FastAPI中使用推播通知來即時更新數據 如何在FastAPI中使用推播通知來即時更新數據 Jul 29, 2023 pm 06:09 PM

如何在FastAPI中使用推播通知來即時更新資料引言:隨著網路的不斷發展,即時資料更新變得越來越重要。例如,在即時交易、即時監控和即時遊戲等應用程式場景中,我們需要及時更新數據以提供最準確的資訊和最佳的用戶體驗。 FastAPI是一個基於Python的現代Web框架,它提供了一種簡單且高效的方式來建立高效能的網路應用程式。本文將介紹如何使用FastAPI來實

如何在PHP中使用Swagger產生API文檔 如何在PHP中使用Swagger產生API文檔 Jun 17, 2023 am 10:40 AM

隨著Web應用程式的不斷發展,API已經成為了現代Web應用開發的標準之一。然而,隨著API的數量和複雜度的增加,維護和文件化它們也變得越來越複雜。為了解決這個問題,Swagger應運而生。它是一種用於產生API文件的工具,可讓開發者更輕鬆地維護和文件化API,同時也提供了視覺化文件和其他各種功能。在本文中,我們將討論如何在PHP中使用Swagger生成A

Laravel開發:如何使用Laravel Swagger產生API文件? Laravel開發:如何使用Laravel Swagger產生API文件? Jun 13, 2023 am 09:35 AM

Laravel開發:如何使用LaravelSwagger產生API文件?在開發網頁應用程式時,處理API文件往往是一項繁瑣但必不可少的任務。使用Swagger可以自動產生API文件並使其視覺化。在Laravel開發中,我們可以使用LaravelSwagger擴充包來輕鬆地產生SwaggerAPI文件。本文將指引您如何在L

如何在FastAPI中實現檔案上傳和處理 如何在FastAPI中實現檔案上傳和處理 Jul 28, 2023 pm 03:01 PM

如何在FastAPI中實現檔案上傳和處理FastAPI是一個現代化的高效能Web框架,簡單易用且功能強大,它提供了原生支援檔案上傳和處理的功能。在本文中,我們將學習如何在FastAPI框架中實作檔案上傳和處理的功能,並提供程式碼範例來說明具體的實作步驟。首先,我們需要導入需要的函式庫和模組:fromfastapiimportFastAPI,UploadF

如何在FastAPI中實現請求的安全防護和漏洞修復 如何在FastAPI中實現請求的安全防護和漏洞修復 Jul 29, 2023 am 10:21 AM

如何在FastAPI中實現請求的安全防護和漏洞修復引言:在開發web應用的過程中,確保應用程式的安全性是非常重要的。 FastAPI是一個快速(高效能)、易於使用、具有自動文件生成的Pythonweb框架。本文將介紹如何在FastAPI中實現請求的安全防護和漏洞修復。一、使用安全的HTTP協定使用HTTPS協定是確保應用程式通訊安全的基礎。 FastAPI提供

如何在FastAPI中實現請求的故障復原和重試 如何在FastAPI中實現請求的故障復原和重試 Jul 28, 2023 pm 01:33 PM

如何在FastAPI中實現請求的故障復原和重試引言:在開發Web應用程式中,我們經常需要與其他服務進行通訊。然而,這些服務可能會發生故障,例如暫時的網路中斷或回應逾時。為了保持應用程式的可靠性,我們需要在發生故障時進行恢復,並在必要時進行重試。在本文中,我們將學習如何在FastAPI中實現請求的故障復原和重試。 FastAPI是一個基於Python的現代We

See all articles