FastAPI 学习之路(十三)Cookie 参数,Header参数
系列文章:
FastAPI 学习之路(一)fastapi--高性能web开发框架
FastAPI 学习之路(十二)接口几个额外信息和额外数据类型
我们先来看下如何获取Header参数。代码实现
from typing import Optional from fastapi import FastAPI, Header app = FastAPI() @app.get("/items/") def read_items(user_agent: Optional[str] = Header(None)): return {"User-Agent": user_agent}
我们看下接口请求
这样我们在请求的时候就可以获取接口的请求参数了,我们可以在这里做一些特殊的处理。后续在项目的中增加。
我们看下如何实现带cookie参数。
from typing import Optional from fastapi import Cookie, FastAPI app = FastAPI() @app.get("/items/") def read_items(ads_id: Optional[str] = Cookie(None)): print(ads_id) return {"ads_id": ads_id}
其实也是很简单的,我们这里请求下看下。
我们简单的做了一个请求。
这样我们在后续的请求中,我们可以对于header或者cookie做特殊的处理。
我们写一个简单的demo。我们要求header的必须有token且token必须是456,没有返回无权限,cookie必须有一个name,且等于123,否则返回认证失败。
我们看下如何实现呢
from typing import Optional from fastapi import Cookie, FastAPI,Header app = FastAPI() @app.get("/items/") def read_items(name: Optional[str] = Cookie(None), token: Optional[str] = Header(None)): if token is None or token!='456': return '无权限' if name is None or name !="123": return "认证失败"
我们看下接口请求
我们看下不带token
token不等于456
我们看下cookie 中的name不等于123,token正确
接口可以正常返回。
文章首发在公众号,欢迎关注。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?