在FastAPI中Response 对象代表一次http请求的响应结果,在请求结束之前,你可以通过它对即将返回的响应做修改,一般情况下,我们无需使用它,而是直接在路径操作函数里返回数据。但遇到需要设置cookie,header的情况,就必须使用该对象,使用它需要在定义路径操作时在函数参数里进行声明
from fastapi import FastAPI, Response
app = FastAPI()
@app.get('/index')
def index(response: Response):
response.set_cookie(key='user_type', value='old')
response.headers['token'] = 'server-token'
return 'ok'
通过浏览器的开发者模式可以观察到response里所设置的cookie和token。
除了在路径定义时声明response对象,也可以在函数里直接创建Response示例并直接返回
from fastapi import FastAPI, Response
app = FastAPI()
@app.get('/index')
def index():
response = Response(content='ok', media_type='text/html')
return response
虽然这样也可以返回数据,但显然只有在特定需求下才有意义,平常使用FastAPI在路径操作函数里直接返回数据就可以了,本文侧重向你介绍Response对象这个概念。
QQ交流群: 211426309