python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python自动生成文档

Python结合FastAPI搭建一个接口实现自动生成文档

作者:王二哥的技术笔记

这篇文章主要为大家详细介绍了Python如何结合FastAPI搭建一个接口,可以实现自动生成文档,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下

你是不是也会这样?花半天时间写一个 API 接口,还得再花半天时间憋一个 API 文档。领导催,同事问,光是维护文档就要了半条命。

今天,我向你推荐一个Python界的“超级新星”——FastAPI。它能让你在10分钟内,不仅搭好接口,还自动生成一套漂亮的交互式文档,微软、Netflix都在用!

第一步:战前准备

1、确保你的 Python 环境(强烈建议 Python 3.8 以上)

$ python3 -V
Python 3.12.8

2、创建并激活虚拟环境(强烈建议)

# 创建项目目录
$ mkdir fastapi-quickstart
# 切换到项目根目录
$ cd fastapi-quickstart/
# 创建虚拟环境
$ python3 -m venv .venv
$ ls -a
.     ..    .venv
# 激活虚拟环境(macOS/Linux),当看 (.venv) 时,表示我们激活成功了。
$ source .venv/bin/activate
(.venv) bogon:fastapi-quickstart wt$

3、安装依赖

# 列出已经安装的依赖包
(.venv) bogon:fastapi-quickstart wt$ pip list
Package Version
------- -------
pip     24.3.1
​
# 安装 fastapi 依赖包,这里使用了清华镜像源
(.venv) bogon:fastapi-quickstart wt$ pip install fastapi -i https://pypi.tuna.tsinghua.edu.cn/simple
...
​
# 安装 uvicorn 依赖包,这里使用了清华镜像源
(.venv) bogon:fastapi-quickstart wt$ pip install "uvicorn[standard]" -i https://pypi.tuna.tsinghua.edu.cn/simple
...
​
# 列出已经安装的依赖包
(.venv) bogon:fastapi-quickstart wt$ pip list
Package           Version
----------------- -------
annotated-doc     0.0.4
annotated-types   0.7.0
anyio             4.12.0
click             8.3.1
fastapi           0.124.2
h11               0.16.0
httptools         0.7.1
idna              3.11
pip               24.3.1
pydantic          2.12.5
pydantic_core     2.41.5
python-dotenv     1.2.1
PyYAML            6.0.3
starlette         0.50.0
typing_extensions 4.15.0
typing-inspection 0.4.2
uvicorn           0.38.0
uvloop            0.22.1
watchfiles        1.1.1
websockets        15.0.1

第二步:编写核心代码

使用 IDE PyCharm 打开 fastapi-quickstart 项目目录,新建 main.py 文件,写入如下代码:

from fastapi import FastAPI
​
# 创建一个 FastAPI 应用实例
app = FastAPI()
​
# 定义一个根路径的 GET 请求接口
@app.get("/")
async def read_root():
    return {"message": "欢迎来到我的第一个 FastAPI 服务器!"}

第三步:运行与测试

切换到终端,我们到 “fastapi-quickstar” 项目根目录下。(确保当前已激活虚拟环境)

使用 uvicorn main:app --reload 运行我们的 FastAPI 应用程序。

(.venv) bogon:fastapi-quickstart wt$ uvicorn main:app --reload
INFO:     Will watch for changes in these directories: ['/Users/wt/code/fastapi-quickstart']
INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO:     Started reloader process [10879] using WatchFiles
INFO:     Started server process [10881]
INFO:     Waiting for application startup.
INFO:     Application startup complete.

当我们看到 Application startup complete.的信息后,恭喜你!服务已经启动成功了。

我们打开浏览器,访问 http://127.0.0.1:8000 ,你会看到如下响应信息:

{"message":"欢迎来到我的第一个 FastAPI 服务器!"}

恭喜你!你的 Python API 接口已经开发成功了。

扩展:令人惊艳的“魔法” —— 交互式API文档

这是 FastAPI 最让人惊艳的地方!它自动为你的API生成了完整的文档。

你在浏览器中访问 http://127.0.0.1:8000/docs,你会看到一个非常漂亮的界面,里面列出了你所开发的 API 接口。

你可以点击它,再点击 “Try it out”,再点击 “Execute”。这时,这个页面里会直接调用你的 API 接口并查看调用结果!而无需要外部工具。

恭喜你! 短短10分钟,你已经成功入门了现代Python Web开发利器——FastAPI。它不仅速度快,更难得的是让开发变得如此简单直观。

到此这篇关于Python结合FastAPI搭建一个接口实现自动生成文档的文章就介绍到这了,更多相关Python自动生成文档内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文