记录个人学习过程,期望能够坚持更新下去。
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,就可以看到返回结果啦。
好啦,今天的分享就结束了。希望这个系列能更新很久吧,也算是对自己的一种激励!大家加油~