范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

pythonFastapiCookie和Header

  简单唠叨下
  前面唠了一些关于请求体的一些事情,这次主要唠下 cookie  和header  的东西,cookie  、header  和Path  、Query  一样都是继承公共的Param  类,传参的一些参数都差不多是一样的。
  区别的就是 Path  、Query  是在postman  中的Param  中放入参数进行请求,而cookie  、header  则是在postman  中的Headers  中放入参数进行请求Cookie参数
  导入  Cookie
  声明 Cookie 参数的结构与声明 Query 参数和 Path 参数时相同。
  第一个值是参数的默认值,同时也可以传递所有验证参数或注释参数,来校验参数: from typing import Optional from fastapi import Cookie, FastAPI  app = FastAPI()   @app.get("/items/") async def read_items(ads_id: Optional[str] = Cookie(...)):     return {"ads_id": ads_id}
  Cookie(...)  的默认值设置的是必填参数,如果请求时不填写则抛出异常
  Cookie(None)  的默认值设置的是None  ,请求时则不填写,不会抛出,请求结果返回是null  值
  启动服务: PS E:git_codepython-codefastapiProject> uvicorn cookie_main:app --reload
  请求接口:
  GET http://127.0.0.1:8000/items
  请求参数:
  KEY
  VALUE
  Cookie
  ads_id=hello
  请求结果:{     "ads_id": "hello" } Header参数
  首先导入 Header
  然后使用和Path  、Query   和Cookie   一样的结构定义 Header   参数
  第一个值是默认值,你可以传递所有的额外验证或注释参数:from typing import Optional from fastapi import FastAPI, Header  app = FastAPI()   @app.get("/items/") def read_items(user_agent: Optional[str] = Header(...)):     return {"User-Agent": user_agent}
  Header(...)  的默认值设置的是必填参数,如果请求时不填写则抛出异常。但是如果你在工具(例如:postman  、浏览器  )中请求接口,工具会默认给你提供一个user_agent  ,所以自然就看不到报错了。
  Header   在 Path  、Query   和 Cookie   提供的功能之上有一点额外的功能:
  1、  user-agent   这样的变量在Python中是无效的,默认情况下, Header   将把参数名称的字符从下划线 _   转换为连字符 -   来提取并记录 headers  .
  2、HTTP headers  中对大小写不敏感,只要传的跟HTTP  头信息规定的字段一样,会自动转换。
  启动服务:PS E:git_codepython-codefastapiProject> uvicorn header_main:app --reload
  请求接口:
  GET http://127.0.0.1:8000/items
  请求参数:
  KEY
  VALUE
  user-agent
  Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36
  请求结果:{     "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36" }
  但是有些时候出于某些原因,需要禁用下划线到连字符的自动转换,设置Header  的参数 convert_underscores   为 False  即可:from typing import Optional from fastapi import FastAPI, Header  app = FastAPI()   @app.get("/items/") def read_items(user_agent: Optional[str] = Header(..., convert_underscores=False)):     return {"User_Agent": user_agent}
  启动服务:PS E:git_codepython-codefastapiProject> uvicorn header_main:app --reload
  请求接口:
  GET http://127.0.0.1:8000/items
  请求参数:
  KEY
  VALUE
  user-agent
  Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36
  请求结果:{     "detail": [         {             "loc": [                 "header",                 "user_agent"             ],             "msg": "field required",             "type": "value_error.missing"         }     ] }
  从请求结果可以清晰看到,类型错误,导致这个抛出错误原因就是在headers  中设置了convert_underscores=False  。
  注意点:  因为有些代理服务器不支持使用带有下划线的headers  ,所以就会出现矛盾体,就是我既想禁用,又想正常访问的问题。对于这个问题,大家探讨吧…
  因为与路径通信时会发送多个HTTP headers  ,对于重复的headers   则需要使用一个list  来获得重复header  的所有值:from typing import Optional from fastapi import FastAPI, Header  app = FastAPI()   @app.get("/items/") def read_items(x_token: Optional[list[str]] = Header(...)):     return {"x-token values": x_token}
  启动服务:PS E:git_codepython-codefastapiProject> uvicorn header_main:app --reload
  请求接口:
  GET http://127.0.0.1:8000/items
  请求参数:
  KEY
  VALUE
  x-token
  1234567
  x-token   123456789
  x-token   12345678910
  请求结果:{ "x-token values": [ "1234567", "123456789", "12345678910" ] }   今天先聊到这里吧,以上总结或许能帮助到你,或许帮助不到你,但还是希望能帮助到你,如有疑问、歧义,直接私信留言会及时修正发布;非常期待你的一键 3 连【 点赞、收藏、分享 】哟,谢谢!   未完成,待续……   一直在努力,希望你也是!   微信搜索公众号:就用python

Win10最好用的功能,只有1的人会正确使用进命令提示符或BIOS修改电脑软硬件设置时,进安全模式杀毒删文件卸载软件排查问题时系统文件损坏进不了系统,需要修复或重置时,更新后出现没声音键鼠不能用等异常,需要卸载更新时我们常提环比增长26!OPPO进入全球出货量TOP5全靠这几招最近,权威调研机构Counterpoint公布第三季度的全球手机市场份额调研报告,在这份行业公信力榜单上,我们看到了不少熟悉的国产手机品牌,而作为国内一线大厂的OPPO,这次也位列黑格增长助力你避开Facebook上的雷区,高效获客Facebook作为全球最成功的社交平台,有超过27亿月活跃用户,很多人或许对这个数字没有什么概念,那么如果我说微信的用户量为12亿,这样对比起来,可能大家就对Facebook客户高端梦再次破碎,联发科的未来你怎么看?今年是5G快速发展的关键时期。手机市场的竞争最为明显。为了抢占市场份额,主要制造商疯狂地推广5G手机。当然,这个目标也已经实现。最重要的是,主要制造商希望进入高端市场并顺应当前趋势饭店自动洗碗机的特点及注意事项中大型洗碗机适用于繁忙的大型食堂。与人工洗碗机和其他洗碗机不同,重复的工作可能会降低人工工作效率,而其他洗碗机可能无法清洁这么多餐具,从而降低清洗质量。大型洗碗机每小时可清洗960案例解读2020外贸独立站运营效果如何?几乎全世界,包括中国人,在年初都没有想到,2020会以这样一种全球疯买中国货的方式收官。据数据显示,2020年11月,中国的出口增速21。1,贸易顺差754亿美元,创下了自1981黑格增长拍了拍你,客户的联系方式还有三秒抵达你是否还在担心找不到途径获客?客户联系方式太单一?与客户沟通受到阻碍?客户流失加重?HaGro黑格增长助力多种渠道让你成功获客实现社交平台红利裂变式增长!自从疫情爆发以来,跨境贸易教你SEMrush的正确打开方式,获取有价值的谷歌推广关键词之前有遇见这样的一个情况一个老板上来,就给新来的SEO专员布置了一个任务1个月之内把trademarkregistration这个词做到谷歌首页。你们认为这个SEO专员会怎么办?该交换机的管理方式(一)Telnet管理一首先配置服务机(1)进入配置需要打的三条命令undoterminalmonitor关闭弹出信息systemview用户视图进入系统视图查看,调试sysname重命名(2)进入虚拟Linux系统基本命令和快捷方式一如何连接shellIrootalocalhostIvimetcsysconfignetworkscriptsifcfgens33回车一下BOoTPROTOstatic网卡获取地址不做谷歌SEO的外贸企业,正在错失这些出海优势外贸推广,会选择什么渠道?B2B平台,展会社媒广告还是独立站?独立站在近两年来迎来了一个高速爆发期,很多企业选择自立门户开展谷歌独立站营销。如果你认为的独立站只是一个展示作用,那么
不用吆喝都热销的轿车盘点,德系日系国产均有,最少卖出8万辆酒香不怕巷子深确实在当今的社会并不吃香,优秀的产品也需要推广才行,不过在汽车市场中,确实也存在一些硬实力强劲的车型,哪怕市面上很少见到它们的宣传,但一看销量依然能排名前列,今天小编果断干脆!直接打断癌细胞DNA,射线治疗为何如此豪横?问到治病的方法有多玄幻?可能比武侠小说都精彩!针灸用银针治病,理疗师用一双手治病,中医康复用滚烫的石蜡板理疗用一个红外线灯丝理疗!有用蛇毒开发出药物治病(凝血酶,止血用),也有用砒益生菌为什么越来越受重视?人的结肠里面有很多细菌,人与细菌是共生的关系我们知道,胃和小肠里面一般只有很少的细菌,回盲瓣是一个单向瓣,过了它就是结肠了,结肠里面是有大量细菌的,估计含有1014个细菌其次为皮肤视网膜相当于多少像素的相机?体验人体最精密感受器的魅力人获取外界信息80以上是通过视觉来实现的,可见视力对我们来说是多么的重要!这是是眼球的解剖示意图眼球解剖结构从上图可以看到,视网膜的覆盖面积还是很大的,占据了半个眼球内部,但是具体京东家电11。11商用电器爆品清单出炉10月31日晚8点提前开抢享优惠眼下,2021年京东11。11全球热爱季氛围火热,京东家电在用品质家电和超值优惠为消费者焕新美好生活的同时,还启动商用新动力爆品计划,与京东秒杀联合打造商用电器爆品清单,并为这些精零售云开启赛道跨界,10000家门店只不过是开始经过4年的发展,零售云终于实现了10000家店的战略目标。这10000家店是成功同时也是起点,代表着零售云从追求速度规模扩张阶段进化到了丰富产业生态,跨界零售赋能等新的领域。零售云对比了下国产新势力和洋品牌对待中国大学生的态度,高下立判最近朋友家里有个侄子考上了大学,下周就要开学了,问我说想给孩子送点礼物,让我建议建议。基本上家长给新大学生送礼物的话,就手机笔记本电脑等等是主流的选择,所以我也就建议朋友往这方面来头号高质价比智能手表,如何玩转华米Amazfit跃我GTR3?以往每年的秋季,总是新款智能手机产品扎堆发布的时间点,而在智能穿戴设备等IoT产品普及后,这一场场发布会直接变成了所有数码爱好者科技迷以及运动爱好者的科技春晚。如果说手机市场iPh读书郎智慧课堂,构建智慧学习互动生态在当前教育新基建和双减政策背景下,如何利用科技赋能教育,优化教学方式,提高教学质量,夯实学校教书育人的主体地位,让因材施教减负增效真正落到实处,是众多教育工作者亟需思考的问题。作为医学科普糖皮质激素的副作用和应对方法糖皮质激素的作用十分广泛,不光是必不可少的生理激素,而且在现代疾病治疗过程中也占据举足轻重的作用。具体内容请点击医学科普糖皮质激素的抗炎作用是怎样实现的?医学科普糖皮质激素究竟能对提顶配RC6,B级车掀背设计,颜值媲美CC,12万多落地儿子今年已经上初一了,不知道他有没有适应过来,反正我是有些猝不及防。在我印象中,他还是那个上小学什么也不懂的小孩,但转眼间他都已进入初中,成为了一个小伙子。而为了照顾她的学业,我们