在python FastAPI中解析数据时出错

Rod*_*o A 1 python python-3.x fastapi

我正在学习使用 FastAPI,并且在实现一个简单的 API 时一遍又一遍地出现此错误,但我无法弄清楚原因

"detail": "There was an error parsing the body"
Run Code Online (Sandbox Code Playgroud)

这发生在我这两个端点上:

完整代码:代码库

片段:

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}
Run Code Online (Sandbox Code Playgroud)

要求:

在此处输入图片说明

在此处输入图片说明

@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)}
Run Code Online (Sandbox Code Playgroud)

要求: 在此处输入图片说明

Rod*_*o A 12

我终于弄清楚了,是因为在安装FastAPI时,它没有安装python-multipart,所以这个包缺少需要multipart的所有东西

安装后运行正常

谢谢