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

 更新时间:2025年12月23日 08:44:37   作者:王二哥的技术笔记  
这篇文章主要为大家详细介绍了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自动生成文档内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python简单实现图片转字符画的实例项目

    Python简单实现图片转字符画的实例项目

    这篇文章主要介绍了Python简单实现图片转字符画的实例项目,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • 利用Python编写的实用运维脚本分享

    利用Python编写的实用运维脚本分享

    Python在很大程度上可以对shell脚本进行替代。笔者一般单行命令用shell,复杂点的多行操作就直接用Python了。本文归纳了Python中一些实用脚本操作,需要的可以参考一下
    2022-05-05
  • Pytorch+PyG实现GraphConv过程示例详解

    Pytorch+PyG实现GraphConv过程示例详解

    这篇文章主要为大家介绍了Pytorch+PyG实现GraphConv过程示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • 详解Python3除法之真除法、截断除法和下取整对比

    详解Python3除法之真除法、截断除法和下取整对比

    这篇文章主要介绍了详解Python3除法之真除法、截断除法和下取整对比,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • Python脚本,标识符,变量使用,脚本语句,注释,模块引用详解

    Python脚本,标识符,变量使用,脚本语句,注释,模块引用详解

    这篇文章主要为大家详细介绍了Python脚本,标识符,变量使用,脚本语句,注释,模块引用,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • python使用正则表达式匹配字符串开头并打印示例

    python使用正则表达式匹配字符串开头并打印示例

    这篇文章主要介绍了python使用正则表达式匹配字符串开头并打印的方法,结合实例形式分析了Python基于正则表达式操作字符串的相关技巧,需要的朋友可以参考下
    2017-01-01
  • django rest framework 实现用户登录认证详解

    django rest framework 实现用户登录认证详解

    这篇文章主要介绍了django rest framework 实现用户登录认证详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • Python实现给文件添加内容及得到文件信息的方法

    Python实现给文件添加内容及得到文件信息的方法

    这篇文章主要介绍了Python实现给文件添加内容及得到文件信息的方法,可实现从文件开头添加内容的功能,需要的朋友可以参考下
    2015-05-05
  • 使用python自动办公的实例代码

    使用python自动办公的实例代码

    os模块基本来说就是处理文件个一个模块,或者说接口,说白了就是处理文件。这篇文章主要介绍了python自动办公的实现代码,代码简单易懂,需要的朋友可以参考下
    2021-11-11
  • Python crypto包功能的使用解读

    Python crypto包功能的使用解读

    文章概述了Python中常用的加密库(如cryptography、pycryptodome、hashlib、bcrypt)及其用途,强调选择合适工具的重要性,并指出安全实践如避免MD5/SHA-1、妥善保管密钥等关键注意事项
    2025-09-09

最新评论