第9节,FastAPI的Response对象

1. Response

在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

加入知识星球, 每天收获更多精彩内容

分享日常研究的python技术和遇到的问题及解决方案