FastAPI 教程

3.4 模型配置:别名、排除字段等

Python初学者FastAPI入门教程:一步步学习Web API开发

FastAPI 教程

专为Python初学者设计的FastAPI入门教程,从安装到构建第一个API,包含详细示例和成功时刻,帮助您轻松上手Web开发。

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

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

了解更多

Python初学者FastAPI入门教程:轻松构建你的第一个Web API

介绍

FastAPI是一个现代、快速(高性能)的Web框架,用于构建API。对于初学者来说,它非常友好,因为代码简洁,自动生成文档,并且基于Python类型提示。

生活化类比:想象你开了一家餐厅,菜单就是你的API,FastAPI则是厨房,能快速、准确地处理订单。

准备工作

在开始之前,确保你安装了Python(建议3.7+)和pip。

安装FastAPI和Uvicorn

打开终端或命令提示符,运行以下命令:

pip install fastapi uvicorn

Uvicorn是ASGI服务器,用于运行FastAPI应用。

成功时刻1:安装完成后,输入pip list检查是否安装成功。

创建你的第一个FastAPI应用

让我们从一个最简单的例子开始。

  1. 创建一个新Python文件,比如main.py

  2. 输入以下代码:

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def read_root():
    return {"message": "Hello, FastAPI!"}

解释

  • 导入FastAPI类。
  • 创建一个app实例。
  • 使用@app.get("/")装饰器定义一个路由,处理GET请求到根路径。
  • 函数返回一个JSON响应。

成功时刻2:运行应用,看到输出。

在终端中运行:

uvicorn main:app --reload

打开浏览器访问http://127.0.0.1:8000,你应该看到{"message":"Hello, FastAPI!"}

恭喜!你刚刚创建了第一个API。

探索基本路由

添加更多路由

main.py中添加更多函数:

@app.get("/items/{item_id}")
def read_item(item_id: int):
    return {"item_id": item_id}

这里,{item_id}是一个路径参数。

成功时刻3:访问http://127.0.0.1:8000/items/42,看到{"item_id":42}

使用查询参数

查询参数允许在URL中添加额外信息。

@app.get("/items/")
def read_items(skip: int = 0, limit: int = 10):
    return {"skip": skip, "limit": limit}

访问http://127.0.0.1:8000/items/?skip=5&limit=20,你会看到{"skip":5,"limit":20}

解释:参数skiplimit是可选的,因为有默认值。

成功时刻4:尝试不同参数,观察结果。

请求体和模型

有时,我们需要从客户端接收数据。

定义一个模型

使用Pydantic模型来处理数据验证。

main.py顶部添加:

from pydantic import BaseModel

class Item(BaseModel):
    name: str
    description: str = None
    price: float
    tax: float = None

创建一个POST路由

@app.post("/items/")
def create_item(item: Item):
    return item

成功时刻5:使用工具如curl或Postman发送POST请求。

例如,发送JSON数据:{"name": "Widget", "price": 9.99},你会收到相同数据,验证通过。

自动API文档

FastAPI自动生成交互式API文档。

访问http://127.0.0.1:8000/docs,你会看到Swagger UI,可以测试所有API。

成功时刻6:在文档中点击“Try it out”,直接调用API。

运行和测试

继续使用Uvicorn运行应用。--reload参数使代码更改时自动重载。

总结

你学会了:

  • 安装FastAPI和Uvicorn
  • 创建基本应用和路由
  • 使用路径和查询参数
  • 处理请求体和模型
  • 利用自动文档

FastAPI让Web开发变得简单有趣。继续实践,探索更多功能如中间件、认证等。

鼓励:不要害怕犯错,FastAPI的错误信息很友好。动手试试吧!

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

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

获取工具包