FastAPI-环境搭建以及第一个demo

举报
小博测试成长之路 发表于 2022/08/29 00:29:46 2022/08/29
【摘要】 最近参加了一个小额付费的fastapi的训练营,其实以前也有参加过类似的一些小额的课程,不过都没坚持去学,最近开始看看视频简单的了解一些fastapi的快速入门的一些基本操作,现在将学习笔记记录一下。 一、环境安装 fastapi是python里面的一个web框架,安装的话使用pip install 去进行安装即可: pip&...

最近参加了一个小额付费的fastapi的训练营,其实以前也有参加过类似的一些小额的课程,不过都没坚持去学,最近开始看看视频简单的了解一些fastapi的快速入门的一些基本操作,现在将学习笔记记录一下。

一、环境安装

fastapi是python里面的一个web框架,安装的话使用pip install 去进行安装即可:

pip install fastapi
  

接下来,写完fastapi的代码之后,需要启动服务的话 ,可以使用uvicorn:

pip install uvicorn
  

按照官方文档的话 ,安装最少依赖的话,可以用下面的命令:

pip install "uvicorn[standard]"
  

官方文档链接:

https://fastapi.tiangolo.com/deployment/manually/

官方文档中有介绍3种方式去运行脚本,感兴趣的可以自己去扩展学习:

28d934d55a0595b5f17448e8154ffaf7.png

以上的安装的话,只是安装了最简单的fastapi插件,如果想一次安装所有插件的话,可以使用下面的命令:

pip install fastapi[all]
  

使用上面的命令的话,会自动安装uvicorn插件:

e824140206835043aa6dbcf5b61aa274.png

二、案例编写

一般初学编程,都是从helloworld开始的,今天,我们也从helloworld开始,定义一个接口,返回“Hello world”:


   
  1. def sayHi():
  2. return {"message":"Hello world,welcome to view 小博测试成长之路"}

既然是学习fastapi,那么肯定需要导入fastapi的包,下面直接看一个最简单的demo,定义一个sayHi的函数,并且指定在用get请求调用的时候,直接在页面输出一段文字。

py代码文件名:myapi.py


   
  1. import uvicorn
  2. from fastapi import FastAPI
  3. api = FastAPI()
  4. @api.get("/")
  5. def sayHi():
  6. return {"message":"Hello world,welcome to view 小博测试成长之路"}
  7. # 启动uvicorn服务,默认端口8000
  8. if __name__ == '__main__':
  9. uvicorn.run('myapi:api')

说明:

启动的时候,要注意FastAPI() 的实例名以及脚本的文件名都要对应上,不然到时候明明是按照别人写的文章运行的呀,为什么就报错了呢。

uvicorn.run('myapi:api'):冒号前面的myapi对应的是py文件名,冒号后面的api对应的是FastAPI() 的实例名。

三、运行脚本

如果用命令行运行的话,进入到py文件所在的目录,然后执行命令:

uvicorn myapi:api 即可启动一个后台服务,端口默认为8000:

b9b8cef84ce618f0f4ea4fb38776967e.png

如果是要一遍调试脚本,又不想重新运行脚本的话,可以加一个--reload参数,即:uvicorn myapi:api  --reload ,这样的话,在代码里面加一个方法之后,就可以立刻看到效果。

如果是不用命令行运行的话,那就可以用uvicorn.run:


   
  1. if __name__ == '__main__':
  2. uvicorn.run('myapi:api',reload=True,port=8000,debug=True)

在浏览器中打开地址访问后,如果在后面加一个/docs,访问:http://127.0.0.1:8000/docs 即可访问到 fastapi 自动生成的接口文档,可用于提供接口文档,接口调试:

88812a13a9085c0cf9cf97e02cd90d88.png

四、学习FastAPI能干什么?

之前的文章中也有提到,学一个知识点的时候,自己心里面就要想清楚,为什么要学这个,学完之后能干什么,只有带着这样的目的去学,才能更好的掌握技术。否则,学完之后不知道有什么用,等于白学。

通过这样一个简单的demo,可以看到,通过短短几行的代码,就可以快速搭建一个后台接口服务,那么,对于以后做自动化测试,或者平常工作中写一些造数据的接口之类的,都是非常方便快捷的。比如在使用postman做自动化的时候,如果要查库断言不好处理的话,就可以在后置脚本里面调自己启动的fastapi的接口去查数据进行断言。阻挡我们进步的并不是工具和技能的学习,而是当你拥有了很多资料去学习的时候,丧失了自己的判断力和思考只知道一味地跟着别人的思路走,没有形成自己思考的一个方式。

看完后,觉得有收获的话,不妨点个赞或者转发支持一下吧~想和行业大佬们一起学习交流的,可以添加好友邀请加入。

文章来源: xiaobotester.blog.csdn.net,作者:小博测试成长之路,版权归原作者所有,如需转载,请联系作者。

原文链接:xiaobotester.blog.csdn.net/article/details/126564772

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。