『FastAPI』快速入门
点赞 + 关注 + 收藏 = 学会了
本文简介
使用 Python
建站,除了 Django
和 Flask
外,还有一个很好用的框架叫 FastAPI
。从名字上就能看出,这个框架的特点就是快。
FastAPI
是一个用于构建 Web APIs
的现代、快速(基于 Starlette 和 Pydantic)、异步的 Python Web 框架。它非常适合快速构建高性能的 API 服务。很适合用来开发前后端分离的项目。
我打算开一个专栏,专门聊聊 FastAPI
。
本文先简单介绍一下 FastAPI
的基础用法,感受一下它的快!
- FastAPI官网:https://fastapi.tiangolo.com/zh/
安装 FastAPI
要使用 FastAPI
就要先安装它。
pip install fastapi
如果你不想在全局安装它的话,也可以使用 Python
的虚拟环境,具体操作可以参考 《Python 虚拟环境 venv》。
编写第一个接口
创建一个目录(文件夹),在该目录下创建一个 main.py
文件(起其他名字也可以)。
在 main.py
里写下这段代码
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def read_root():
return {"message": "雷猴"}
@app.get("/blogList")
async def blogList():
return {"data": "这是博客列表接口"}
上面的代码很简单,引入 FastAPI
,并创建一个实例。
然后通过 @app.get()
这个装饰器创建使用 GET
访问的接口,里面传入第一个参数就是接口地址,@app.get("/")
就是根地址,@app.get("/blogList")
就是 /blogList
。
在 @app.get()
装饰器下方对应着这个接口要执行的方法。本文为了方便演示,所有接口都返回一个简单的 JSON
数据。
启动服务
代码写好了,要启动一个服务才能访问刚刚写好的接口。
推荐使用 uvicorn
,它是一个轻量级的 ASGI 服务器,专门用于运行基于 ASGI(Asynchronous Server Gateway Interface)协议的 Python Web 应用程序。
使用下面这条命令安装 uvicorn
。
pip install uvicorn
然后进入项目目录,在终端执行下面这条命令就可以把项目运行起来了。
uvicorn main:app --reload
因为我们刚刚创建的文件叫 main.py
,所以这里运行的就是 uvicorn main:app
。
这句命令最后的 --reload
可以监听 main.py
文件是否发生变化,一旦 main.py
里的代码发生变化,uvicorn
就会自动重启服务器,刷新所有接口。
启动完项目后,在浏览器访问 http://127.0.0.1:8000/
就能看到 @app.get("/")
这个接口返回的内容。
访问 http://127.0.0.1:8000/blogList
就能看到 @app.get("/blogList")
这个接口返回的内容。
自动生成接口文档
FastAPI
会自动生成两个非常有用的 API
文档界面:
http://127.0.0.1:8000/docs
使用 Swagger UI
。
http://127.0.0.1:8000/redoc
使用 ReDoc
。
通过这两个地址可以查看、测试和文档化你的 API。
以上就是本文的全部内容。使用 FastAPI
,几句代码就能写出一个接口,还能自动给你生成接口文档。
点赞 + 关注 + 收藏 = 学会了