您可能之前阅读过,您可以设置默认的Response Status Code。
创新互联是一家专注于成都网站设计、成都网站制作与策划设计,潢川网站建设哪家好?创新互联做网站,专注于网站建设10年,网设计领域的专业建站公司;建站业务涵盖:潢川等地区。潢川做网站价格咨询:18980820575
但在某些情况下,您需要返回与默认值不同的状态代码。
例如,假设您希望200默认返回“OK”的 HTTP 状态代码。
但是如果数据不存在,你想创建它,并返回一个 HTTP 状态代码 "CREATED" 201。
但是您仍然希望能够过滤和转换您使用response_model.
对于这些情况,您可以使用Response参数。
您可以Response在路径操作函数中声明一个 type 参数(就像对 cookie 和 headers 所做的那样)。
然后您可以status_code在该时间响应对象中设置 。
from fastapi import FastAPI, Response, status
app = FastAPI()
tasks = {"foo": "Listen to the Bar Fighters"}
@app.put("/get-or-create-task/{task_id}", status_code=200)
def get_or_create_task(task_id: str, response: Response):
if task_id not in tasks:
tasks[task_id] = "This didn't exist before"
response.status_code = status.HTTP_201_CREATED
return tasks[task_id]
然后您可以像往常一样返回您需要的任何对象(a dict、数据库模型等)。
如果您声明了 a response_model,它仍将用于过滤和转换您返回的对象。
FastAPI将使用该临时响应来提取状态代码(还有 cookie 和标头),并将它们放入包含您返回的值的最终响应中,由 any 过滤response_model。
您也可以Response在依赖项中声明参数,并在其中设置状态码。但请记住,最后一个设置将获胜。
网页题目:创新互联FastAPI教程:FastAPI教程响应-更改状态代码
标题路径:http://www.shufengxianlan.com/qtweb/news48/298898.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联