游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

22。FastAPI开发大型应用

  22。FastAPI开发大型应用
  在前面的代码示例中,我们都是在一个文件创建路由;在实际开发中,一般会根据需求进行模块划分,代码项目中也会根据模块进行开发,不同的模块采用不同的文件来编写程序。在FastAPI中提供了APIRouter来组织路由,相当于Flask中的Blueprints。22。1使用APIRouter创建路由
  1。导入APIRouterfromfastapiimportAPIRouter
  2。使用APIRouter定义路由操作routerAPIRouter()
  使用router。get等对路由方法进行修饰即可,使用方式与FastAPI类相同。22。2FastAPI主体程序
  在FastAPI主体程序中,将具有APIRouter的子模块导入,然后通过FastAPI类的includerouter将路由添加到应用程序。代码示例如下:
  目录结构:main。pytestinit。pytest。pydemoinit。pydemo。py
  上面的目录结构中,test与demo是Python包。
  test。pycoding:utf8fromfastapiimportAPIRouterrouterAPIRouter()router。get(pathhello1)asyncdefhello1():return{hello1:HelloAPIRouter1}
  demo。pycoding:utf8fromfastapiimportAPIRouterrouterAPIRouter()router。get(pathhello2)asyncdefhello1():return{hello2:HelloAPIRouter2}
  main。pycoding:utf8fromfastapiimportFastAPIfromtestimporttestfromdemoimportdemoappFastAPI()app。includerouter(test。router)app。includerouter(demo。router)app。get(path)asyncdefroot():returnHelloworld
  启动应用,然后进行请求测试:curlhttp:127。0。0。1:8000Helloworldcurlhttp:127。0。0。1:8000hello1{hello1:HelloAPIRouter1}curlhttp:127。0。0。1:8000hello2{hello2:HelloAPIRouter2}22。3APIRouter的参数
  在实际开发中,一个文件中的路由是有相同的部分的,比如:testhello1、testhello2中,test是相同的路由路径,在FastAPI中,可以通过APIRouter的参数来添加路由的前缀,而不需要在每个路由定义的时候分别去添加。APIRouter的参数:prefix路由前缀tags标签dependencies依赖项responses额外的响应
  除此之外,我们有时候在不同的文件中还需要相同的路由前缀,所以,APIRouter最好在包的初始化文件init。py中声明和定义。下面将上面的代码修改如下:
  demoinit。pycoding:utf8fromfastapiimportAPIRouterrouterAPIRouter(prefixdemo)importdemo。demo
  demo。pycoding:utf8fromdemoimportrouterrouter。get(pathhello2)asyncdefhello1():return{hello2:HelloAPIRouter2}
  testinit。pycoding:utf8fromfastapiimportAPIRouterrouterAPIRouter(prefixtest)importtest。test
  test。pycoding:utf8fromtestimportrouterrouter。get(pathhello1)asyncdefhello1():return{hello1:HelloAPIRouter1}
  main。pycoding:utf8fromfastapiimportFastAPIimporttestimportdemoappFastAPI()app。includerouter(test。router)app。includerouter(demo。router)app。get(path)asyncdefroot():returnHelloworld
  从以上代码中可以看出,对应定义的路由:curlhttp:127。0。0。1:8000demohello2curlhttp:127。0。0。1:8000testhello1
  运行测试:curlhttp:127。0。0。1:8000testhello1{hello1:HelloAPIRouter1}curlhttp:127。0。0。1:8000demohello2{hello2:HelloAPIRouter2}
  需要注意:在包的初始化文件init。py文件中,一定要对使用了router的python文件进行import,并且import指令要放到router声明的后面,以便将使用了router的python文件编译进来。22。4包含路由
  在FastAPI中,也可以使用FastAPI类的includerouter函数的相应参数进行路由前缀的设置,当然也可以设置其他参数,这样就不必在APIRouter声明中设置参数。如将上面的代码中修改如下:
  init。py中的代码修改为:fromfastapiimportAPIRouterrouterAPIRouter()
  main。pycoding:utf8fromfastapiimportFastAPIimporttestimportdemoappFastAPI()app。includerouter(test。router,prefixtest)app。includerouter(demo。router,prefixdemo)app。get(path)asyncdefroot():returnHelloworld
  运行结果与上面的代码是相同的。22。5多次使用不同的prefix包含同一个路由器
  在FastAPI中,也可以在同一路由上使用不同的前缀来多次使用。includerouter();这样做在有些场景下可能有用,例如以不同的前缀公开同一个的API,比方说apiv1和apilatest;这是一个可能并不真正需要的高级用法,但万一你有需要了就能够用上。
  如:在上面的main。py中增加一行:app。includerouter(demo。router,prefixdemo2)
  这样,我们在请求curlhttp:127。0。0。1:8000demo2hello2也会返回与curlhttp:127。0。0。1:8000demohello2相同的结果。22。6在另一个APIRouter中包含一个APIRouter
  与在FastAPI应用程序中包含APIRouter的方式相同,也可以在另一个APIRouter中包含APIRouter。
  如:上面的代码中,我们在testinit。py中增加一行:router。includerouter(demo。router)
  这样,就可以请求:curlhttp:127。0。0。1:8000testhello2,返回结果:{hello2:HelloAPIRouter2}
  本篇主要讲述了FastAPI的APIRouter的使用方法,主要以其prefix参数以及includerouter函数的prefix参数的使用来说明如何组织路由,通过组织路由来完成大型项目的开发,以便我们可以在多个文件中组织和管理软件的代码。

开年第一弹,来点知识流媒体究竟是什么?在2019年期间,飞利浦先后推出了两款流媒体技术基础的行车记录仪,一款是CVR1500,一款则是在年尾上线的CVR1550,值得一提的是,CVR1550即便在整体的功能技术上和……曼德尔于2022年接管EOSIO自从两年前EOSIO2。0发布以来,EOS网络还没有进行过重大的升级。自那时以来,Block。one已经生产了EOSIO2。1和EOSIO2。2的发布候选版本;但是,由于各种原……你知道滴滴服务分怎么样才涨得快吗?服务分是根据乘客的星级评价和司机个人的接单率,取消单率等等的一个综合评价分数。现在滴滴司机也会给乘客打星级,对于一些比较刁难司机的乘客也会给一星,乘客星级越低,对于司机来说越不……大疆发布旗下最轻无人机仅87g支持室内避障日前,DJIEducation平台带来了一款全新无人机RoboMasterTellTalent(简称TT),价格为239美元(约合人民币1536元)。其三围尺寸为9892……你人生中第一部手机用了几年?我人生第一部手机是康佳的一款翻盖手机,即将要升入高中的暑假妈妈为了联系我方便买的一部二手手机。当时收到第一部手机非常高兴,然而随之而来的问题也不少大家好,我是邕宁小妹,很……决策参考上交所正式确定科创板上市标准我国网民规模达8。29亿1、上交所正式确定科创板上市标准事件:上交所3月1日发布的设立科创板并试点注册制相关配套规则明确了发行人申请在科创板上市的条件:符合中国证监会规定的发行条件;发行后股本总……币安暂停通过银行转账进行的欧元存款据报道,全球最大的加密货币交易所Binance今天宣布,它已经暂停了通过单一欧元支付区(SEPA)银行转账的欧元存款。SEPA是一个网络,旨在通过创建一个以欧元计价的单一……俄罗斯能源部正寻求对加密货币矿工实施特殊电价俄罗斯能源部正寻求对加密货币矿工实施特殊电价10月14日消息,随着加密货币挖矿行业从中国迁移到俄罗斯,俄罗斯能源部正寻求对加密货币矿工实施特殊电价。据当地媒体RBC……莫言其实有点像郑渊洁,还像韩寒正所谓花一些时间,总会看清一些事。用一些事情,总会看清一些人!这句话因为用得太多了,已经成了鸡汤。但这本来真的是句好话。鲁迅说过:世界上本没有鸡汤,用的人多了,也就成了鸡……520521光速脱单指南一年一度的520又双叒叕到了你的哥们刚有了对象你的表姐妹刚生了孩子你的大学同学刚在五一结了婚而你,刚痛失了石原里美、新垣结衣两位老婆假如爱情……微众银行企业合作伙伴大会发布新品牌及3年计划2020年10月20日,由微众银行主办的微众企业合作伙伴大会隆重召开。此次大会采用线上直播的方式,在人民日报新媒体、凤凰网财经、腾讯看点等多家媒体同步直播。作为主办方,微众银行……前三季度车型投诉指数排行多款热门车投诉飙升最近,汽车门网前三个季度的汽车投诉数据已经统计出来。让我们结合着去年前三个季度的数据来分析一下,看看如今前十名上榜的车型都存在着哪些问题。第一名:途观L投诉指数:1349……
男男动漫都有哪些好看的(10部好看男男动漫车推荐)1、《同级生》,一言不合就开吻,画风小清新。2、《superlovers》,弟弟恋人养成记。3、《恋爱暴君》,学长掰弯记。brdivclasscontenta……腐女必看的几部动漫排行前10(人气腐女动漫推荐)腐女必看的几部动漫排行前10(人气腐女动漫推荐)。在二次元的作品中,除了有肥宅喜欢的工口类,腐女所爱的BL系列作品亦不可少。今天人气腐女动漫推荐,比如:《纯情罗曼史》、《放学后……腐女动漫排行(人气最高的十部动漫)什么是腐女呢?腐女其实就那些幻想里面男男爱情的女性。慢慢的随着现在腐女阵容的不断强大,也出现了非常多腐女喜欢看的动漫,下面给大家盘点腐女动漫排行:推荐人气最高的十部动漫。……最好看的国产动漫有哪些国内动漫排行榜前10名2021说起动漫大家一定都很喜欢日本的,因为不管是场景还是在人物日本的动漫无疑是最好看的,但是说起国产的动漫很多人都认为质量差,故事情节不够丰富,特效和日漫想必差的太多,但其实不是的,……泡面番是什么意思啊,推荐10部泡面番动漫有一类动漫被叫做泡面番,不了解动漫的人可能会问泡面番是什么意思啊,下面我会告诉大家什么是泡面番,在为大家推荐10部泡面番动漫。1泡面番是什么意思啊动漫其实就是每集都很短的……摩卡PHEV车型纯电续航里程超200km比竞品更智能更豪华从客户需求维度看,告别纯电时代的里程焦虑、安全焦虑、补能焦虑等、享受更为前瞻的智能化体验,是最大的痛点。对在2021年完成128万辆销量的长城汽车来说,未来更需要什么?……为什么荣耀oppo的折叠屏刚开卖就溢价了?泻药,荣耀MagicV折叠屏手机溢价其实是必然的事,主要有两个原因。一个是产品力确实很足,不仅是首款骁龙8折叠屏手机,而且还有66W快充、4800mAh电池、120Hz屏幕等配……每集都做的动漫有哪些(日漫动漫)每集都做的动漫有哪些?本篇18部日本污的动漫介绍,其实,日本这一类的动漫还是比较多的,感兴趣的可以了解下。1。《魔物娘的同居日常》:我了和平,主角义无反顾的奉献了自己,于……IDC2021年全球PC出货量创10年新高,今年供应仍将受限1月13日,资本邦了解到,国际数据公司IDC发布报告指出,2021年第四季度,全球传统PC(台式机、笔记本、工作站)出货量达到9270万台,比2020年同期增长1。0。2……最新整理动漫电影排行榜12部动漫电影2019最新整理动漫电影排行榜2019分享推荐,12部动漫电影,小编觉得每一部都很精彩丰满部部好看,本文推荐的动漫电影排名不分先后,依据个人观影爱好推荐,不喜勿喷!精灵王座……好看的动漫排行榜前十名2020国产动漫排行前十精选本文介绍好看的动漫排行榜前十名推荐:近几年,国漫的水平也是越做越好了,质量也比以往好很多。接下里就给大家推荐下2020国产动漫排行前十都有哪些,精选好看的国漫动漫,看了还想看。……无节操十大动漫披着表番皮的里番(图)无节操十大动漫:披着表番皮的里番(图)想当年,动画片还是给小孩子看的,想当年,小编还是个会脸红的妹子,一眨眼十几年过去了,老司机也诞生了,动漫也在无节操的道路上越走越远。……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网