FastAPI是一個快速,高效的Python Web框架。它非常適合于在短時間內(nèi)構(gòu)建高效的API(應(yīng)用程序接口)
在FastAPI中,我們可以使用POST請求來向我們的API中發(fā)送數(shù)據(jù)并進(jìn)行處理。在處理POST請求的過程中,我們通常會使用JSON格式來傳遞我們的數(shù)據(jù)。
讓我們看一下如何使用FastAPI來處理POST請求中的JSON數(shù)據(jù)
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
class User(BaseModel):
username: str
password: str
@app.post("/user")
async def create_user(user: User):
# do something with user data
return {"status": "ok"}
在上面的代碼中,我們首先導(dǎo)入了FastAPI和我們的模型定義User。我們定義了一個POST路由,它接受來自客戶端的JSON數(shù)據(jù)并使用傳遞的User模型進(jìn)行解析。然后我們可以對用戶進(jìn)行處理,并返回一個狀態(tài)代碼。
為了進(jìn)行測試,我們可以在命令行中使用curl命令從客戶端發(fā)送JSON數(shù)據(jù)
curl -X POST -H "Content-Type: application/json" -d '{"username":"john", "password":"doe"}' http://localhost:8000/user
在上述curl請求中,"-X POST"標(biāo)志告訴curl使用POST方法,"-H"標(biāo)志指定Content-Type頭,以告訴服務(wù)器接收的數(shù)據(jù)是JSON格式的,最后,使用"-d"標(biāo)志傳遞JSON數(shù)據(jù)
現(xiàn)在,我們可以通過瀏覽器或使用Postman等工具訪問我們的FastAPI應(yīng)用程序中的“/user”路由來進(jìn)行測試。