FastAPI python web开发- Cookie&Header参数获取
·
大家好,我是Java1234_小锋老师,最近更新《2027版 一天学会 FastAPI Python web开发 视频教程(无废话版)》专辑,感谢大家支持。

本课程主要介绍和讲解FastAPI简介,HelloWorld实现,自动生成交互式API文档,路径参数,查询参数,请求体,参数校验,响应模型 ,表单数据和模型,中间件,依赖注入,集成SQLAlchemy ORM 操作数据库,集成Pydantic数据校验等
视频教程+课件+源码打包下载:
链接:https://pan.baidu.com/s/1_NzaNr0Wln6kv1rdiQnUTg
提取码:0000
Cookie&Header参数获取
Cookie 是服务器发送到用户浏览器并保存在本地的一小块数据。它就像网站发给你的“临时身份卡”——浏览器每次发起请求时,都会自动带上这张卡,让服务器能认出你是谁。

我们来看一个官方实例:
class Cookies(BaseModel):
session_id: str # 必填,请求里必须有名为 session_id 的 Cookie
fatebook_tracker: str | None = None # 可选,没有则为 None
googall_tracker: str | None = None # 可选,没有则为 None
# Annotated 的作用 把类型(Cookies)和元数据(Cookie())绑在一起,是 FastAPI 推荐的写法,
# 比旧式 cookies: Cookies = Cookie() 更清晰。
# 如果不指定参数来源,默认从查询参数里去获取。
@app.get("/cookies/")
async def read_cookies(cookies: Annotated[Cookies, Cookie()]):
return cookies
我们测试下:Swagger UI 测试不了,官方文档也有说明。

所以我们用PostMan测试:

HTTP请求头部(Header)是一组包含请求信息的键值对,用来描述HTTP请求的各种属性和特征。
我们来看一个官方实例:
class CommonHeaders(BaseModel):
hostname: str
save_data: bool
if_modified_since: str | None = None
traceparent: str | None = None
x_tag: list[str] = []
@app.get("/headers/")
async def read_headers(headers: Annotated[CommonHeaders, Header()]):
return headers
然后打开浏览器访问 http://127.0.0.1:8000/docs,进行测试

更多推荐


所有评论(0)