gpt4 book ai didi

python - FastAPI:无法按预期进行错误处理

转载 作者:行者123 更新时间:2023-12-03 06:45:19 32 4
gpt4 key购买 nike

我只是在学习 FastAPI(并喜欢它),所以很可能我做错了什么。但这是我的问题:
在下面的代码片段中,如果还没有用户,我将创建一个新用户。
代码工作正常,但这是我遇到问题的错误处理。错误被正确地推送到 FastAPI 的内部文档或像 Postman 这样的 API 客户端,但不会返回到我正在使用的实际客户端或命令行。

@app.post("/users/", response_model=schemas.User)
def create_user(user: schemas.UserCreate, db: Session = Depends(get_db)):
db_user = crud.get_user_by_username(db, username=user.username)
if db_user:
raise HTTPException(
status_code=400, detail=f"Username '{user.username}' already registered"
)
return crud.create_user(db=db, user=user)

如果我使用自动生成的 FastAPI 文档(或 Postman)并以这种方式监视响应,我会收到我期望的错误:
Proper error response in API docs
但是当我查看收到的信息时 在客户端(Vue)或者什么 uvicorn服务器正在登录 ,它不包含该信息:
Incorrect error response being logged
如您所见,它只是说 Bad Request而不是使用 {"detail": "Username 'miketest' already registered"} 的 JSON 字典进行响应

我究竟做错了什么?我该怎么做才能确保完整的 HTTPException正在返回信息?我很确定问题出在 FastAPI 端,因为客户端也正在接收服务器输出的内容。

最佳答案

This screenshot属于控制台日志,它不会包含 API 响应,即 JSON 响应。
如果您使用某个客户端向 API 发送请求,您可以看到实际响应,例如 POSTMAN .

关于python - FastAPI:无法按预期进行错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62854314/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com