- 作者:老汪软件技巧
- 发表时间:2024-10-11 11:02
- 浏览量:
本文简介
使用 Python 建站,除了 Django 和 Flask 外,还有一个很好用的框架叫 FastAPI。从名字上就能看出,这个框架的特点就是快。
FastAPI 是一个用于构建 Web APIs 的现代、快速(基于 Starlette 和 Pydantic)、异步的 Python Web 框架。它非常适合快速构建高性能的 API 服务。很适合用来开发前后端分离的项目。
我打算开一个专栏,专门聊聊 FastAPI。
本文先简单介绍一下 FastAPI 的基础用法,感受一下它的快!
安装 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 就会自动重启服务器,刷新所有接口。
启动完项目后,在浏览器访问 :8000/ 就能看到 @app.get("/") 这个接口返回的内容。
访问 :8000/blogList 就能看到 @app.get("/blogList") 这个接口返回的内容。
自动生成接口文档
FastAPI 会自动生成两个非常有用的 API 文档界面:
:8000/docs 使用 Swagger UI。
:8000/redoc 使用 ReDoc。
通过这两个地址可以查看、测试和文档化你的 API。
以上就是本文的全部内容。使用 FastAPI ,几句代码就能写出一个接口,还能自动给你生成接口文档。