FastAPI 教程

12.7 测试覆盖率与 CI/CD 集成

Python初学者FastAPI入门教程:5分钟创建你的第一个Web应用

FastAPI 教程

面向Python初学者的FastAPI入门教程,无Web开发经验也能快速上手。通过生活化类比和简单示例,教你如何轻松创建API,建立编程信心,掌握基础概念。

推荐工具
PyCharm专业版开发必备

功能强大的Python IDE,提供智能代码补全、代码分析、调试和测试工具,提高Python开发效率。特别适合处理列表等数据结构的开发工作。

了解更多

Python初学者FastAPI入门教程:快速上手Web开发

欢迎来到FastAPI的世界!

如果你有Python基础,但从未接触过Web开发,别担心!FastAPI就像你的私人“快速厨师”,能帮你迅速搭建Web应用,而无需复杂的前端知识。想象一下,你告诉厨师“我要一份披萨”,他立刻端上——FastAPI就是这么高效!

在这个教程中,我们将一步步带你动手实践,让你在几分钟内创建自己的第一个API,体验编程的“成功时刻”。

第一步:安装FastAPI

在开始之前,确保你安装了Python(建议3.7以上)。打开你的终端或命令行,输入以下命令来安装FastAPI和一个叫Uvicorn的“服务员”(服务器):

pip install fastapi uvicorn

成功时刻:看到安装完成的提示,就像拿到了厨房的钥匙,可以开始烹饪了!

第二步:创建你的第一个FastAPI应用

新建一个Python文件,比如 main.py,然后复制粘贴以下代码:

from fastapi import FastAPI

# 创建一个FastAPI应用,就像点餐单
app = FastAPI()

# 定义一个路由(端点),相当于告诉厨师你要什么
@app.get("/")
def home():
    return {"message": "Hello, World! 欢迎来到FastAPI!"}

解释

  • FastAPI():创建应用实例,就像启动一个厨房。
  • @app.get("/"):这是一个“装饰器”,它定义了一个GET请求的端点,类似于在菜单上标记“主菜”。
  • home() 函数:当用户访问网站首页(“/”路径)时,这个函数会运行,并返回一个JSON响应。

运行应用:在终端中,进入文件所在目录,运行:

uvicorn main:app --reload
  • main:指你的 main.py 文件。
  • app:指你在代码中创建的FastAPI实例。
  • --reload:启用自动重载,方便修改代码后立即看到变化。

成功时刻:看到输出中显示 Uvicorn running on http://127.0.0.1:8000,恭喜你!打开浏览器,访问 http://127.0.0.1:8000,你会看到 {"message": "Hello, World! 欢迎来到FastAPI!"} —— 你的第一个API成功了!

第三步:理解基础概念(用生活类比)

  • 路由(Route):就像菜单上的菜名,告诉服务器用户要访问哪个页面。例如,@app.get("/items") 定义了访问物品列表的路径。
  • 端点(Endpoint):每个路由对应的函数,厨师根据菜单准备菜品。
  • 请求和响应(Request & Response):用户点餐(发送请求),服务器上菜(返回响应)。FastAPI自动将Python对象转换为JSON格式。

第四步:动手添加更多功能

让我们丰富你的菜单。在 main.py 中添加以下代码:

from fastapi import FastAPI

app = FastAPI()

# 首页端点
@app.get("/")
def home():
    return {"message": "Hello, World! 欢迎来到FastAPI!"}

# 获取用户信息(带参数)
@app.get("/users/{user_id}")
def get_user(user_id: int):
    return {"user_id": user_id, "name": "Alice"}  # 假设用户数据

# 处理POST请求,比如提交订单
from pydantic import BaseModel

class Item(BaseModel):
    name: str
    price: float

@app.post("/items/")
def create_item(item: Item):
    return {"item_added": item.name, "price": item.price}

解释

  • @app.get("/users/{user_id}"):这是一个动态路由,{user_id} 是参数,就像根据顾客ID定制菜品。
  • BaseModel:来自Pydantic库,用于定义数据模型,确保输入数据格式正确。

测试

  1. 访问 http://127.0.0.1:8000/users/123,你会看到 {"user_id": 123, "name": "Alice"}
  2. 要测试POST请求,你可以使用工具如Postman或浏览器插件,但这里推荐使用FastAPI自动生成的文档:访问 http://127.0.0.1:8000/docs,这是一个交互式API文档界面,点击“Try it out”可以直接测试端点。

成功时刻:在 /docs 页面测试POST请求,输入JSON如 {"name": "pizza", "price": 10.99},点击执行,看到成功响应——你刚刚创建了一个能处理复杂请求的API!

第五步:建立信心的小练习

自己尝试修改代码:

  1. 添加一个端点 @app.get("/about"),返回关于你的信息。
  2. 修改 get_user 函数,根据 user_id 返回不同的名字(可以用列表或字典存储用户数据)。

记住,犯错是学习的一部分!如果代码报错,检查拼写或缩进,FastAPI的错误信息通常很友好。

总结

通过这个教程,你已经学会了:

  • 安装FastAPI并运行服务器。
  • 创建基本API端点。
  • 使用动态参数和处理POST请求。
  • 利用自动文档进行测试。

FastAPI的强大之处在于它的简单和快速。继续探索,你可以添加数据库、认证等功能——但先从这些小胜利开始,建立你的信心!

下一步建议:查看FastAPI官方文档,了解更多高级功能,或尝试创建一个简单的待办事项API。

快乐编程! 🚀


教程结束。希望你喜欢这个入门之旅!如果有问题,随时查阅在线资源或社区。

开发工具推荐
Python开发者工具包

包含虚拟环境管理、代码格式化、依赖管理、测试框架等Python开发全流程工具,提高开发效率。特别适合处理复杂数据结构和算法。

获取工具包