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中,处理日期和时间是一个常见的任务,它涉及到许多方面,例如获取日期的年、月、日、星期几等等,本文将详细介绍如何使用Python来获取当前日期的各种相关信息,需要的可以了解下
    2024-01-01
  • Python 文件与文件对象及文件打开关闭

    Python 文件与文件对象及文件打开关闭

    这篇文章主要介绍了Python 中的文件与文件对象,Python中常有的数据文件类型有文本文件、二进制文件和CSV文件,文本文件是ASCII编码,汉子存储的是机内码,更多详细内容,需要的小伙伴可以参考一下
    2022-03-03
  • python字典嵌套字典的情况下找到某个key的value详解

    python字典嵌套字典的情况下找到某个key的value详解

    这篇文章主要介绍了python字典嵌套字典的情况下找到某个key的value详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • python3.6.3安装图文教程 TensorFlow安装配置方法

    python3.6.3安装图文教程 TensorFlow安装配置方法

    这篇文章主要为大家详细介绍了python3.6.3及TensorFlow安装配置方法图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09
  • python中argparse模块用法实例详解

    python中argparse模块用法实例详解

    这篇文章主要介绍了python中argparse模块用法,以实例形式较为详细的分析了argparse模块解析命令行参数的使用技巧,需要的朋友可以参考下
    2015-06-06
  • python中的opencv和PIL(pillow)转化操作

    python中的opencv和PIL(pillow)转化操作

    这篇文章主要介绍了python中的opencv和PIL(pillow)转化操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • django中F表达式和Q函数应用与原理详解

    django中F表达式和Q函数应用与原理详解

    F对象查询与Q对象查询,刚看到大家一定会感到很陌生,其实它们也是 Django 提供的查询方法,而且非常的简单的高效,下面这篇文章主要给大家介绍了关于django中F表达式和Q函数应用与原理的相关资料,需要的朋友可以参考下
    2023-05-05
  • TensorFlow实现自定义Op方式

    TensorFlow实现自定义Op方式

    今天小编就为大家分享一篇TensorFlow实现自定义Op方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • linux下安装python3和对应的pip环境教程详解

    linux下安装python3和对应的pip环境教程详解

    这篇文章主要介绍了linux下安装python3和对应的pip环境,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-07-07
  • python 执行终端/控制台命令的例子

    python 执行终端/控制台命令的例子

    今天小编就为大家分享一篇python 执行终端/控制台命令的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07

最新评论