如何在FastAPI中實作API文件自動產生和UI展示
有了FastAPI這樣強大的Python框架,我們可以方便地建立高效能的Web API。然而,在建立API的同時,我們也需要一個清晰且易於理解的API文件來幫助其他開發人員理解和使用我們的API。本文將介紹如何使用FastAPI自動產生API文件並透過UI展示出來。
首先,我們需要安裝FastAPI和相關的依賴函式庫。在命令列中執行以下命令來安裝它們:
pip install fastapi pip install uvicorn pip install fastapi_utils
接下來,我們需要匯入必要的模組:
from fastapi import FastAPI from fastapi_utils.api_model import APIModel from fastapi_utils.api_doc import APIModelDoc
然後,我們建立一個FastAPI的實例:
app = FastAPI()
接下來,我們可以定義一個API模型。 API模型是使用FastAPI提供的APIModel
類別來定義的,它可以包含用於API請求和回應的欄位。
class User(APIModel): id: int name: str email: str
在我們的FastAPI應用程式中,我們可以使用該模型來定義API路由和邏輯。
@app.get("/users/{user_id}", response_model=User, summary="Get user by ID", tags=["users"]) def get_user(user_id: int): return {"id": user_id, "name": "John Doe", "email": "johndoe@example.com"}
在上面的程式碼中,我們為HTTP GET請求定義了一個路由/users/{user_id}
,並指定了回應模型為User
。我們也為該路由新增了一個簡要說明和一個標籤,以後我們可以透過標籤來組織和篩選API文件。
接下來,我們可以使用APIModelDoc
類別來為我們的API模型產生文件。
docs = APIModelDoc(app) docs.register(User)
有了以上程式碼,我們的API模型就被註冊到了API文件中。
最後,我們需要使用docs.html
方法來取得自動產生的API文件的HTML程式碼。
@api.route('/docs', method="GET", tags=["docs"]) def get_docs(): return docs.html()
在上面的程式碼中,我們定義了一個GET路由/docs
,並且傳回了自動產生的API文件的HTML程式碼。這裡我們為這個路由加入了一個標籤docs
,以便在API文件中進行篩選和組織。
現在,讓我們執行我們的FastAPI應用程式並查看自動產生的API文件。
if __name__ == "__main__": uvicorn.run(app, host="0.0.0.0", port=8000)
在命令列中執行以下命令以啟動應用程式:
python app.py
然後在瀏覽器中存取http://localhost:8000/docs
,您應該能夠看到自動產生的API文件。
透過上述步驟,我們成功地在FastAPI中實現了API文件的自動產生和UI展示。您可以根據您的需求進一步自訂和調整API文件的樣式和內容。
希望這篇文章能幫助您使用FastAPI建立強大的API,並為您的API提供清晰且易於理解的文件。
以上是如何在FastAPI中實現API文件自動產生和UI展示的詳細內容。更多資訊請關注PHP中文網其他相關文章!