簡體   English   中英

python FastAPI 中的數據解析錯誤

[英]Errror parsing data in python FastAPI

我正在學習使用 FastAPI,在實現一個簡單的 API 時,我一遍又一遍地遇到這個錯誤,我無法弄清楚為什么

"detail": "There was an error parsing the body"

這發生在這兩個端點上:

完整代碼: 代碼庫

片段:

app_v1 = FastAPI(root_path='/v1')

# JWT Token request
@app_v1.post('/token')
async def login_access_token(form_data: OAuth2PasswordRequestForm = Depends()):
    jwt_user_dict = {"username": form_data.username, "password": form_data.password}
    jwt_user = JWTUser(**jwt_user_dict)
    user = authenticate_user(jwt_user)
    if user is None:
        return HTTP_401_UNAUTHORIZED
    jwt_token = create_jwt_token(user)
    return {"token": jwt_token}

要求:

在此處輸入圖像描述

在此處輸入圖像描述

@app_v1.post("/user/photo")
async def update_photo(response: Response, profile_photo: bytes = File(...)):
    response.headers['x-file-size'] = str(len(profile_photo))
    response.set_cookie(key='cookie-api', value="test")
    return {"profile photo size": len(profile_photo)}

要求: 在此處輸入圖像描述

我終於弄明白了,這是因為在安裝 FastAPI 時,它沒有安裝 python-multipart,所以這個 package 缺少所有需要 multipart 的東西

安裝后可以正常使用

謝謝

第一個請求的問題是您應該在form-data中發送usernamepassword 而不是x-www-form-urlencoded ,使用form-data ,你應該沒問題。

在此處輸入圖像描述

我看不出第二個有問題。 您可以嘗試使用 Swagger 接口,看看那里是否發生同樣的情況?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM