• 作者:老汪软件技巧
  • 发表时间: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 ,几句代码就能写出一个接口,还能自动给你生成接口文档。