FastAPI 教程

14.4 连接池优化

Python FastAPI入门教程:零基础快速上手,轻松构建Web API

FastAPI 教程

本教程面向有Python基础但无Web开发经验的初学者,通过简单易懂的实践步骤和生活化类比,教你快速上手FastAPI,创建自己的Web应用,建立开发信心。

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

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

了解更多

FastAPI入门教程:从零开始,轻松上手

欢迎来到FastAPI世界!

嗨,大家好!如果你熟悉Python语法,但从未接触过Web开发,别担心,这个教程就是为你量身定做的。我们会用最有趣的方式,带你走进FastAPI的神奇世界。想象一下,Web开发就像开一家餐厅:FastAPI是你的主厨工具,能让你快速做出美味的“数据菜”(API)。准备好开始了吗?让我们一步一步来!

第一步:什么是FastAPI?

FastAPI 是一个现代、快速的Python Web框架,专门用于构建API(应用程序编程接口)。简单来说,API就像餐厅的菜单:别人可以通过它来点菜(请求数据),而你来上菜(返回数据)。

生活化类比:把你的Python代码想象成一个厨师,FastAPI就是厨房里的智能助手,帮厨师快速处理订单(HTTP请求),并返回美味的菜肴(数据响应)。

第二步:环境设置

在开始之前,确保你有Python和pip(Python包管理器)。如果你没有,先去Python官网下载安装。然后,打开终端或命令行,运行以下命令:

pip install fastapi uvicorn

fastapi 是框架本身,uvicorn 是一个服务器,用来运行FastAPI应用。这就像安装好厨房设备和炉灶,准备做饭了!

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

让我们立即动手,体验第一个“成功时刻”!

  1. 创建一个新文件,命名为 main.py
  2. 打开它,输入以下代码:
from fastapi import FastAPI

app = FastAPI()  # 创建一个FastAPI应用实例,就像搭建餐厅

@app.get("/")  # 定义一个GET请求端点,类似于在菜单上添加一个菜品
async def hello_world():
    return {"message": "Hello, World!"}
  1. 保存文件。
  2. 在终端中,运行:
uvicorn main:app --reload

解释一下:main:app 指的是 main.py 文件中的 app 对象;--reload 表示自动重载,方便开发时修改代码。

  1. 打开浏览器,访问 http://127.0.0.1:8000。你会看到 {"message": "Hello, World!"} 显示在屏幕上!

恭喜! 你已经成功创建了你的第一个API端点。这就像打开了餐厅的大门,迎接了第一位顾客。

第四步:解释关键概念

  • 端点(Endpoint):API中的特定URL路径,如 @app.get("/") 定义了一个根端点。类比:餐厅菜单上的每个菜品都是一个端点。
  • HTTP方法:如 GETPOSTGET 用于获取数据(比如点餐),POST 用于提交数据(比如下单)。
  • 异步(Async):FastAPI支持异步编程,这就像餐厅可以同时处理多个订单,更高效。我们的 async def 函数让响应更快。

第五步:更多简单示例

让我们添加更多功能,增强信心!

示例1:添加另一个GET端点main.py 中添加:

@app.get("/greet/{name}")  # 带路径参数的端点
async def greet(name: str):
    return {"greeting": f"Hello, {name}!"}

保存文件,由于 --reload 已开启,服务器会自动更新。访问 http://127.0.0.1:8000/greet/Alice,你会看到 {"greeting": "Hello, Alice!"}。哇,现在你的API能个性化打招呼了!

示例2:添加POST端点 添加以下代码:

from pydantic import BaseModel  # 导入Pydantic用于数据验证

class Item(BaseModel):  # 定义一个数据模型
    name: str
    price: float

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

现在,你可以用工具(如浏览器扩展或Postman)发送POST请求到 http://127.0.0.1:8000/items/,带有JSON数据如 {"name": "Apple", "price": 1.99},API会返回确认信息。这就像顾客下单后,你记录菜品信息。

第六步:成功时刻回顾

  • 你安装了FastAPI并运行了第一个应用。
  • 创建了多个端点,处理不同请求。
  • 看到了即时响应,建立起信心:是的,Web开发并不难!

第七步:下一步建议

  • 探索FastAPI文档:访问 http://127.0.0.1:8000/docs,你会看到自动生成的交互式API文档(就像餐厅的电子菜单)。
  • 尝试更多功能:如路径参数、查询参数、数据验证等。
  • 考虑构建一个小项目,比如一个待办事项API。

总结

FastAPI让Web开发变得简单有趣。通过动手实践,你已经迈出了第一步。记住,就像学做饭一样,多练习是关键。继续探索,你会成为一个厉害的Web开发者!

如果你有任何问题,记得查阅官方文档或社区论坛。祝你编程愉快!

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

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

获取工具包