10分钟用Python搭个接口,还能自动生成文档?

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

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

第一步:战前准备

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

ruby 复制代码
$ python3 -V
Python 3.12.8

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

shell 复制代码
# 创建项目目录
$ 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、安装依赖

ruby 复制代码
# 列出已经安装的依赖包
(.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 文件,写入如下代码:

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

第三步:运行与测试

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

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

vbnet 复制代码
(.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 ,你会看到如下响应信息:

json 复制代码
{"message":"欢迎来到我的第一个 FastAPI 服务器!"}

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

扩展:令人惊艳的"魔法" ------ 交互式API文档

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

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

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


-------- 写在最后 --------

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

如果你想系统学习FastAPI,解锁数据库连接、用户认证等高级技能,请在评论区回复 【FastAPI】 ,将获得我为你整理的:

1、完整的 FastAPI 学习路线图

2、项目源码


点赞 :让更多人看到这篇实用教程

分享 :分享给正在学习 Python 的小伙伴!

关注 :不错过每一篇 Python 实战干货!

每周更新 Python 自动化办公、Web 开发、算法等硬核技巧,助你成为 10 倍效率的开发者!


#Python #FastAPI #API #Web开发 #程序员 #编程教程 #效率提升

相关推荐
用户8356290780511 分钟前
Python 如何在 Word 中添加和管理文档变量
后端·python
用户019027581613 小时前
Dify / Coze 低代码 Agent 怎么接 A 股行情?
python
Dumbness3 小时前
不传 day 参数,座位图显示全空:用 Python 标准库手写 Web 框架,请求到业务代码前的 5 个细节
后端·python
databook4 小时前
收上来一堆 Excel,怎么保证没改错
python·数据分析
2601_967987375 小时前
Python 教程:默认字典(defaultdict)全维度深度指南
python·性能优化·数据处理·collections·defaultdict
鱼听禅5 小时前
Ubuntu安装YOLOv8进行菌落识别训练
linux·python·yolo·ubuntu
ZhengEnCi6 小时前
Agent 查不出代码 Bug 怎么办:一份带时间戳的调试日志与读日志排查流程
python·ai编程
威哥爱编程6 小时前
模拟面试智能体开发实战 05:给面试官接上题库和检索,题目结构化、大纲可溯源,AI 不再凭印象出题
python·agent·harmonyos
威哥爱编程6 小时前
模拟面试智能体开发实战 06:答得好怎么追问、答得错怎么点破,追问引擎让面试官会深挖会纠错
python·agent·harmonyos
codists7 小时前
《crafting interpreters》阅读笔记:4.6.2
python