Python FastAPI 使用簡(jiǎn)介
SDQ
發(fā)布于 云南 2025-03-21 · 2928瀏覽 3贊

FastAPI 是一款基于 Python 的快速 Web 框架,用于構(gòu)建 API。它基于 Python 的類型提示,讓代碼更具可讀性和可維護(hù)性,且性能卓越。?

安裝 FastAPI?

安裝 FastAPI 很簡(jiǎn)單,通過(guò) pip 即可:?

?

TypeScript

取消自動(dòng)換行復(fù)制

pip install fastapi uvicorn?

?

其中,uvicorn是一個(gè) ASGI 服務(wù)器,用于運(yùn)行 FastAPI 應(yīng)用。?

創(chuàng)建基礎(chǔ)應(yīng)用?

創(chuàng)建一個(gè)基本的 FastAPI 應(yīng)用只需幾行代碼:?

?

TypeScript

取消自動(dòng)換行復(fù)制

from fastapi import FastAPI?

?

app = FastAPI()?

?

@app.get("/")?

def read_root():?

return {"Hello": "World"}?

?

上述代碼中,先導(dǎo)入FastAPI類,創(chuàng)建app實(shí)例。使用@app.get("/")裝飾器定義一個(gè)處理根路徑/的 GET 請(qǐng)求的函數(shù)read_root,函數(shù)返回一個(gè) JSON 格式數(shù)據(jù){"Hello": "World"}。?

添加路由?

定義多個(gè) API 端點(diǎn),如:?

?

TypeScript

取消自動(dòng)換行復(fù)制

@app.get("/items/{item_id}")?

def read_item(item_id: int):?

return {"item_id": item_id}?

?

這里@app.get("/items/{item_id}")定義了一個(gè)接收路徑參數(shù)item_id的 GET 請(qǐng)求路由,item_id類型為int,函數(shù)返回包含item_id的 JSON 數(shù)據(jù)。?

處理請(qǐng)求參數(shù)?

FastAPI 能方便地處理查詢參數(shù):?

?

TypeScript

取消自動(dòng)換行復(fù)制

@app.get("/users/")?

def read_users(q: str = None):?

if q:?

return {"query": q}?

return {"message": "No query provided"}?

?

在這個(gè)例子中,q是一個(gè)可選的查詢參數(shù),若有值則返回包含q的 JSON 數(shù)據(jù),否則返回提示消息。?

運(yùn)行應(yīng)用?

在終端中運(yùn)行:?

?

TypeScript

取消自動(dòng)換行復(fù)制

uvicorn main:app --reload?

?

這里main是 Python 文件名,app是 FastAPI 應(yīng)用實(shí)例名,--reload參數(shù)可在代碼修改時(shí)自動(dòng)重啟服務(wù)器,方便開(kāi)發(fā)調(diào)試。?

FastAPI 憑借簡(jiǎn)潔的語(yǔ)法和強(qiáng)大的功能,讓開(kāi)發(fā)者能高效構(gòu)建健壯的 API,無(wú)論是小型項(xiàng)目還是大型企業(yè)級(jí)應(yīng)用都十分適用。

SDQ
這人真的很懶,什么都沒(méi)留下 ╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬
瀏覽 2928
3
相關(guān)推薦
最新評(píng)論
贊過(guò)的人 3
評(píng)論加載中...

暫無(wú)評(píng)論,快來(lái)評(píng)論吧!