有谁能帮我理解为什么当状态为200时不引发HTTPException
,而是引发return
?
working with fastApi
代码示例:
@app.delete("/delete")
def delete(id = Query(...,description="Delete ID to be deleted")):
if id not in dictionary:
raise HTTPException(status_code=404,detail="Delete Id doesn't exists.")
del dictionary[id]
return {"Success":"Delete deleted!"}
我想知道为什么不使用示例:
raise HTTPException(status_code=200,detail="Delete deleted!")
这是正确的使用方法吗?
2条答案
按热度按时间kpbwa7wx1#
首先是因为语义:异常是一种语言结构,它的意思不是返回函数的结果。它破坏了FastAPI应用程序的正常流程,我猜它会/可能会破坏大多数中间件处理(如CORS头),因为突然发生了异常。
第二:因为你可能想要返回的不仅仅是
detail
键下的信息,它将无法使用FastAPI内置的response_model
机制,该机制允许你以声明方式(即通过配置视图装饰器)调整和验证每种类型请求的响应模型。db2dz4w82#
1.回报更好
1.很多时候结果应该是相等的
1.这里是重定向登录页面中间件
`
`