当前位置: 首页 > news >正文

福州网站建设信息windows优化大师win10

福州网站建设信息,windows优化大师win10,广东一站式网站建设推荐,flash网站代做需求背景: 需要再中间件中获取body 中的信息 但是 又想要在之后 还可以重复取 这个body 因为有的接口写法是直接从body中获取参数,然而这个body是数据流的形式,一旦取一次就导致后面取不到里面的值了 。 解决方式: 1.保存请求体: 在中间件中读取请求…

需求背景:

需要再中间件中获取body 中的信息 但是 又想要在之后 还可以重复取 这个body 因为有的接口写法是直接从body中获取参数,然而这个body是数据流的形式,一旦取一次就导致后面取不到里面的值了 。

解决方式:

1.保存请求体

在中间件中读取请求体后,将其保存到一个变量中,并将其附加到请求中,以便后续处理函数可以访问。

from fastapi import FastAPI, Request
from starlette.middleware.base import BaseHTTPMiddleware
from starlette.middleware.cors import CORSMiddlewareapp = FastAPI()class CustomMiddleware(BaseHTTPMiddleware):async def dispatch(self, request: Request, call_next):# 读取请求体body = await request.body()  # 获取原始请求体request._body = body  # 将其附加到请求对象# 继续处理请求response = await call_next(request)return response# 添加中间件
app.add_middleware(CustomMiddleware)@app.post("/items/")
async def create_item(request: Request):# 读取请求体body = await request.json()  # 现在可以安全读取return {"body": body}

但是这里有点问题  如果create_item(request: Request) 是这样的写法 create_item(xxx: xxx = Body()) 这里会默认的从body中读取数据而不是我们重新放进去的 _body ,而这用用法比较多的时候我们改动范围比较大所以需要第二种方式实现

2.将body原路塞回去

class LoggingMiddleware(BaseHTTPMiddleware):async def dispatch(self, request: Request, call_next):request_body = await request.body()# 定义一个新的 receive 方法,返回缓存的请求体async def receive():return {"type": "http.request", "body": request_body}# 替换请求的 _receive 方法request._receive = receive

这样做的话再其他的地方再次调用 request.body()了  不需要大范围的修改 create_item(xxx: xxx = Body()) 这种写法了

http://www.dinnco.com/news/25462.html

相关文章:

  • 深圳福田特价网站建设今天发生的重大新闻5条
  • 花店网站建设个人小结有效的网站推广方式
  • html5自适应网站模板南宁百度关键词推广
  • 企业培训网站打开官方网站
  • 西安最大的互联网公司网页关键词优化软件
  • 高清免费素材网站沧州网站建设公司
  • 邯郸营销型网站百度电脑版网址
  • 网站申请qq公司主页网站设计
  • 外贸公司做网站该去哪里找百度广告竞价排名
  • 织梦网站栏目黑帽seo技巧
  • 钢板防护罩做网站互联网营销师报名入口官网
  • wordpress页面转文章seo深圳培训班
  • 做商铺最好的网站广告媒体资源平台
  • 网络技术是什么seo还有用吗
  • 搜房网网站跳出率国外b站不收费免费2023
  • 在线舆情系统关键词推广优化排名品牌
  • 资质升级业绩备案在哪个网站做推广产品的渠道
  • 网站导航条设计欣赏百度官网网站登录
  • 商务网站建设一万字bing搜索引擎下载
  • 模拟黑客网站杨谦教授编的营销课程
  • 常熟做网站多少钱推广普通话手抄报模板可打印
  • b2b平台网站功能免费合作推广
  • 网站更换域名如何操作最常见企业网站有哪些
  • 长葛网站建站seo怎么优化简述
  • 摄影网站cms武汉网络推广广告公司
  • 长沙企业网站建设价格怎样在网上做推广
  • 做网站的公司叫什么软件手机百度ai入口
  • 餐饮公司网站建设的特点推广关键词优化公司
  • 廊坊百度快速优化排名怎么做seo信息优化
  • 好用的网站开发编辑器电商怎么做推广