掃二維碼與項(xiàng)目經(jīng)理溝通
我們在微信上24小時(shí)期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
你可以Response在你的路徑操作函數(shù)中聲明一個(gè) type 的參數(shù)(就像你可以為 cookie 做的那樣)。

十載的潛山網(wǎng)站建設(shè)經(jīng)驗(yàn),針對設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都全網(wǎng)營銷的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整潛山建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)從事“潛山網(wǎng)站設(shè)計(jì)”,“潛山網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
然后您可以在該時(shí)間響應(yīng)對象中設(shè)置標(biāo)頭。
from fastapi import FastAPI, Response
app = FastAPI()
@app.get("/headers-and-object/")
def get_headers(response: Response):
response.headers["X-Cat-Dog"] = "alone in the world"
return {"message": "Hello World"}
然后您可以像往常一樣返回您需要的任何對象(a dict、數(shù)據(jù)庫模型等)。
如果您聲明了 a response_model,它仍將用于過濾和轉(zhuǎn)換您返回的對象。
FastAPI將使用該臨時(shí)響應(yīng)來提取標(biāo)頭(還有 cookie 和狀態(tài)代碼),并將它們放在包含您返回的值的最終響應(yīng)中,由 any 過濾response_model。
您還可以Response在依賴項(xiàng)中聲明參數(shù),并在其中設(shè)置標(biāo)頭(和 cookie)。
也可以在Response直接返回 a 時(shí)添加標(biāo)題。
按照直接返回響應(yīng)中的說明創(chuàng)建響應(yīng),并將標(biāo)頭作為附加參數(shù)傳遞:
from fastapi import FastAPI
from fastapi.responses import JSONResponse
app = FastAPI()
@app.get("/headers/")
def get_headers():
content = {"message": "Hello World"}
headers = {"X-Cat-Dog": "alone in the world", "Content-Language": "en-US"}
return JSONResponse(content=content, headers=headers)
技術(shù)細(xì)節(jié)
您也可以使用from starlette.responses import Response或from starlette.responses import JSONResponse。
FastAPI提供相同starlette.responses的fastapi.responses,就像為你的方便,開發(fā)人員。但大多數(shù)可用的響應(yīng)直接來自 Starlette。
由于Response可以經(jīng)常用于設(shè)置標(biāo)頭和 cookie,F(xiàn)astAPI也在fastapi.Response.
請記住,可以使用“X-”前綴添加自定義專有標(biāo)頭。
但是,如果您希望瀏覽器中的客戶端能夠看到自定義標(biāo)頭,則需要使用Starlette 的 CORS 中記錄的參數(shù)將它們添加到 CORS 配置中(在CORS(跨源資源共享)中了解更多信息) 文檔。expose_headers

我們在微信上24小時(shí)期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流