• 0
  • 0
分享

记录个人学习过程,期望能够坚持更新下去。


fastapi是什么:用于构建 API 的现代、快速(高性能)的 web 框架


如何安装:pip install fastapi


如何使用:

1、创建虚拟环境

# 安装虚拟环境工具
 pip instlall virtualenv
# 创建名为fastapi_test的虚拟环境(名字想取什么就取什么)
virtualenv fastapi_test
# 进入虚拟环境
cd .\fast_test\Scripts
# 执行activate

2、安装fastapi

pip install fastapi

3、一个简单的demo

在开始之前我们还要安装一个东西

# 安装uvicorn,它是一个基于 uvloop 和 httptools 构建的非常快速的 ASGI 服务器
# 关于ASGI是什么这里就不过多的描述了,这里主要还是针对fastapi的记录
pip install uvicorn

接下来就能够常见我们的第一个demo啦。(尽量代码中多注释一些,基础的我就不注释了)

# day1.py
from fastapi import FastAPI

app = FastAPI()   # 创建一个Fastapi实例

@app.get("/test1")    #  自定义的地址
async def demo():   # 因为fastapi是异步的  所以我们定义返回内容的时候一般使用async , 当然你也可以不加
    return {"test":"hello world"}   # 定义返回内容
   
# 这样 也是可以的
@app.get("/test2)
def demo2():
    return {"test":"hello world"}   
    
if __name__ == "__main__":
    import uvicorn
    # unicorn常用的参数,我们这里只用到了
    # app:运行的py文件:Fastapi实例对象
    #host:访问的url
    #port:端口地址
    uvicorn.run(app='run:app', host="127.0.0.1", port=7777)   
    # unicorn常用的参数,我们这里只用到了这几个。具体的参数请自行查看源码。

运行该文件然后访问我们定义的地址:http://127.0.0.1:7777/test1 或者http://127.0.0.1:7777/test2就可以啦


上述代码中我们定义的都是get请求方式,我们还可以定义其他请求方式,比如楼主工作中最长用的post请求等等

@app.post()
@app.put()
.......   # 这里我就不列出来啦,具体能够支持哪些请求各位可以查看applications.py这一个文件


好了,这里我们就完成了一个简单的demo了。

我们可以访问来查看api文档,不知道swagger的同学也可以去网上去了解一下。


接口都是有输入和输出的,刚刚我们只实现了输出如何简单的实现,那具体的输入我们如何实现呢?其实很简单

from fastapi import FastAPI

app = FastAPI()

@app.get("/test")
async def demo(num:int):    # 指定api输入参数,这是个叫num的int类型参数
    return {"num":num}

if __name__ == "__main__":
    import uvicorn
    uvicorn.run(app='day1:app', host="127.0.0.1", port=7777, reload=True)

我们大概api文档,点击右上角try it out 输出请求参数12,就可以看到返回结果啦。

微信截图_20230210111740.png


好啦,今天的分享就结束了。希望这个系列能更新很久吧,也算是对自己的一种激励!大家加油~

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   环球音乐集团(UMG)已开始从TikTok上移除该公司代理的表演者的音乐目录,其中包括泰勒-斯威夫特(Taylor Swift)、德雷克(Drake)和奥利维亚-罗德里戈(Olivia Rodrigo)。UMG 与 TikTok 之前的授权协议已于 1 月 31 日到期。  本周二,UMG 指责该视频平台试图欺压其接受"糟糕的协议",而该协议并没有抚平唱片公司对艺人和词曲作者的充分补偿、对人工智能生成音乐的保护以及平台上保护艺人免受"仇恨言论、偏执、欺凌和骚扰"的在线安全的担忧。  TikTok 则措辞强硬地回应称,UMG"选择放弃一个拥有...
            0 0 908
            分享
          • 1、引言小屌丝:鱼哥, 请问,如何防止我手抖, 误删库。小鱼:看样子你今天是来搞事情!小屌丝:我就是为了防止自己手抖…颤抖…小鱼:请问一个妹子去药店,问医师要"后悔药",知道是啥不?小屌丝:额,鱼哥,果然是老司机啊, 你这要飙车了~小鱼:扯淡, 我就是联想一下而已…而已…扯远了,不过,别说,还真有后悔药,就是防止 删库, 蹲牢的那种。今天我们来搞一搞 MySQL的后悔2、5种后悔药2.1 limit我们在执行delete 或者update操作时, 如果不是十**(被)分(逼)把(无)握(奈)**,还是在语句的最后,加上个 limit。防止 看铁窗执行语句delete&nbs...
            2 2 11290
            分享
          •   起亚在海外宣布召回 12400 辆 EV9 电动汽车,原因是其智能遥控泊车辅助系统存在潜在的安全隐患。  参考美国国家公路交通安全管理局(NHTSA)发布的报告,这款车在低速情况下可能无法正确刹车,从而导致车辆无法在需要时及时停止,进而可能撞到行人或物体。▲ 美国国家公路交通安全管理局发布的报告  据悉,此次召回涉及的车型为 2024 年 5 月 28 日之前生产的 EV9 GT-Line 和 Land 版本,这些车辆都配备了名为“Remote Smart Park Assist”的智能遥控泊车辅助系统,车主可以使用钥匙上的按钮,在车外控制车辆进行自动泊车或移出停车位。  据获悉,起亚声称...
            0 0 305
            分享
          •   根据美国商标和专利局(USPTO)公示的最新清单,苹果近日获得了一项新的可折叠手机专利,最大的亮点是让折痕区域自愈。  根据专利描述,苹果计划通过外部施加的热、光、电流或其他类型的外部刺激,来实现折痕的自我修复。  IT之家附相关草图如下,苹果构想的未来设备配有一个铰链,允许设备通过铰链进行折叠。而在铰链部分的屏幕采用柔性屏幕覆盖层,可以插入在显示器覆盖层的第一刚性和第二刚性部分之间。  苹果表示电子设备的显示覆盖层可能会被划伤或凹陷。为了改善电子设备的美观性,可能需要降低划痕和凹痕的存在感,于是在屏幕覆盖层中引入一层自愈材料。  自愈材料层可以在整个显示器覆盖层上形成,也可以仅在显示器覆...
            0 0 972
            分享
          •   苹果公司正在开发新的 iPad 和 MacBook 机型,但彭博社的马克-古尔曼(Mark Gurman)认为,这些设备"不会在本月发布"。古尔曼在今天的《Power On》时事通讯中说:  "通常情况下,苹果会在 10 月份发布新款笔记本电脑和iPad,也就是在最新款iPhone和手表上市一个月之后。虽然我在 7 月份曾报道过苹果计划在今年发布这样的产品,但最新的迹象表明,它不会在本月发布。"  古尔曼接着说,新款 iPad Air、iPad mini 和入门级 iPad 机型都在开发中,配备了速度更快的芯片,但他并不认为"任何重要的更新...
            0 0 1133
            分享
      • 51testing软件测试圈微信