• 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


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

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •        在当今移动互联网盛行的时代,网络的形态除了有线连接,还有2G/3G/4G/5G/WiFi等多种手机网络连接方式。不同的协议、不同的制式、不同的速率,使移动应用运行的场景更加丰富。目前移动端产品的使用用户所处的网络并非完全流畅的网络环境,因移动端产品使用场景多变,如进地铁、上公交、进电梯等,使得弱网测试显得尤为重要。毕竟考虑到各种场景的客户端展示及容错,能极大提升产品印象和用户体验。本文就和大家分享一下如何上手弱网测试,弱网测试工具的使用。1. 什么是弱网测试?       弱网测试作为健壮性测试的重要...
            12 12 3050
            分享
          •   据路透社报道,来自日本、韩国、欧洲和北美的七家汽车巨头今日宣布正组建一家新公司,在美国提供电动汽车充电服务,以挑战特斯拉主导的北美充电标准 NACS,并试图利用美国政府的补贴。  这七家公司包括通用汽车、Stellantis、现代、起亚、本田、宝马和梅赛德斯-奔驰,这些品牌占美国市场汽车销量的一半左右,但在特斯拉主导的电动汽车市场份额较小。  这个不同寻常的竞争对手联盟表示,新合资公司的目标是成为北美领先的快速充电服务提供商,目标是沿着主要高速公路和美国城市推出 3 万个充电装置。  这些汽车巨头没有具体说明他们将单独或集体投资多少钱,但表示他们将对其他公司的额外投资或参与持开放态度,包括...
            0 0 1830
            分享
          •   估计大家都遇到过吧,登录账户的时候好死不死的出现了验证码不知道怎么办了,啊哈哈哈哈,我是不止遇到了一次,避免踩坑,在这里就把相关资料分享给大家嘿嘿嘿~  创建线程:  新建获取验证码的采集器:  新建一个监听器:  新建一个用户自定义变量,用于存解析出来的验证码值:  新建一个存验证码值的变量regCode,为了便于判断是否已解析出验证码,设定一个默认值-1。  给获取验证码的采集器加一个后置处理器BeanShell PostProcessor,用于解析验证码的值,并将其存入上一步的用户变量中。  在采集器上新建一个后置处理器Debug PostProcessor,便于调试:  验证之前的...
            0 0 1698
            分享
          • 前面的博客中,我介绍了appium多线程中如何获取devices的值。今天我们讲讲如何检查端口是否被占用。因为,我们要获取多线程中的多个端口,但是,在获取多个端口之前,我们得先检查端口是否被占用。思路:通过os.popen命令,接收返回的端口值,如果返回的值的长度大于0,说明端口被占用了,否则,端口就没有被占用。如上,通过创建一个类,写一个方法,检查端口是否被占用。通过对appium多线程自动化的学习,是不是发现,我们每一步动作,都是创建一个类,写一个方法,通过调用这个类中的这个方法,供后面使用。PO模型中,分层设计,后面的类都是调用前面的类中的方法,来达到目的的。多写一写,慢慢就会熟悉pyt...
            0 0 601
            分享
          • 前言自动化测试会越来越受到重视在移动互联时代,对于质量的要求PC时代的多,投产出最的动化测试,将会是部分公司的选向,但需要严格掌握门语。快速、高效的测试工具及脚本,能使程序猿的开发工作事半功倍。笔者进入到研发中心工作之后,参与到一个报文平台的重构项目中。该项目老平台基于C语言编写,架构老旧,可维护性与扩展性较差;为了紧跟研发中心的技术迭代步伐,新平台使用新的工具进行重构,使其构建发布、参数配置更灵活,便于后续维护与扩展。在新平台的重构开发过程中,报文的路由测试是很关键的部分。由于系统涉及一百多种不同格式的报文,且系统安全性要求较高,每个报文在系统中交互时都要进行加验签检查,所以需要对整个系统进...
            0 0 2251
            分享
      • 51testing软件测试圈微信