新聞中心
您可能之前閱讀過,您可以設置默認的Response Status Code。

創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站設計、成都網(wǎng)站制作與策劃設計,潢川網(wǎng)站建設哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設10年,網(wǎng)設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:潢川等地區(qū)。潢川做網(wǎng)站價格咨詢:18980820575
但在某些情況下,您需要返回與默認值不同的狀態(tài)代碼。
用例
例如,假設您希望200默認返回“OK”的 HTTP 狀態(tài)代碼。
但是如果數(shù)據(jù)不存在,你想創(chuàng)建它,并返回一個 HTTP 狀態(tài)代碼 "CREATED" 201。
但是您仍然希望能夠過濾和轉換您使用response_model.
對于這些情況,您可以使用Response參數(shù)。
使用Response參數(shù)
您可以Response在路徑操作函數(shù)中聲明一個 type 參數(shù)(就像對 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、數(shù)據(jù)庫模型等)。
如果您聲明了 a response_model,它仍將用于過濾和轉換您返回的對象。
FastAPI將使用該臨時響應來提取狀態(tài)代碼(還有 cookie 和標頭),并將它們放入包含您返回的值的最終響應中,由 any 過濾response_model。
您也可以Response在依賴項中聲明參數(shù),并在其中設置狀態(tài)碼。但請記住,最后一個設置將獲勝。
分享題目:創(chuàng)新互聯(lián)FastAPI教程:FastAPI教程響應-更改狀態(tài)代碼
本文來源:http://www.dlmjj.cn/article/dhipdhg.html


咨詢
建站咨詢
