fastapi
时间: 2025-06-19 12:53:22 浏览: 14
### FastAPI 使用指南与示例代码
FastAPI 是一个现代、快速(高性能)的 Python Web 框架,用于构建 API。它基于标准 Python 类型提示,使用 Starlette 和 Pydantic 构建,提供了极高的性能并简化了开发流程[^3]。以下是关于如何使用 FastAPI 的详细指南以及一些示例代码。
#### 安装 FastAPI
在开始使用 FastAPI 之前,需要确保已安装 FastAPI 和 Uvicorn(一个 ASGI 服务器)。可以通过以下命令进行安装:
```bash
pip install fastapi uvicorn
```
完成安装后,即可开始构建自己的 API 应用程序[^4]。
#### 示例代码:创建一个简单的 FastAPI 应用程序
以下是一个基本的 FastAPI 示例,展示了如何定义路径操作和返回 JSON 响应。
```python
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"message": "Hello, FastAPI!"}
```
运行此应用程序时,可以使用以下命令启动服务器:
```bash
uvicorn main:app --reload
```
访问 `http://127.0.0.1:8000` 即可看到返回的消息[^4]。
#### 示例代码:路径参数
FastAPI 支持通过路径参数传递数据。以下是一个示例,展示如何从 URL 中获取用户 ID 并返回相关信息。
```python
from fastapi import FastAPI
app = FastAPI()
@app.get("/users/{user_id}")
def read_user(user_id: int):
return {"user_id": user_id}
```
在此示例中,`user_id` 是一个路径参数,并且被指定为整数类型。FastAPI 会自动验证传入的值是否符合指定类型。
#### 示例代码:查询参数
除了路径参数,FastAPI 还支持查询参数。以下是一个示例,展示如何从查询字符串中获取数据。
```python
from fastapi import FastAPI
app = FastAPI()
@app.get("/items/")
def read_item(skip: int = 0, limit: int = 10):
return {"skip": skip, "limit": limit}
```
在此示例中,`skip` 和 `limit` 是两个可选的查询参数,默认值分别为 0 和 10[^4]。
#### 示例代码:请求体
FastAPI 支持复杂的请求体,例如 JSON 数据。以下是一个示例,展示如何接收 JSON 请求体并返回处理结果。
```python
from fastapi import FastAPI
from pydantic import BaseModel
class Item(BaseModel):
name: str
description: str | None = None
price: float
tax: float | None = None
app = FastAPI()
@app.post("/items/")
def create_item(item: Item):
return {"item_name": item.name, "item_price": item.price}
```
在此示例中,定义了一个 Pydantic 模型 `Item`,用于描述请求体的结构。FastAPI 会自动解析 JSON 数据并验证其格式[^3]。
#### 示例代码:自动生成文档
FastAPI 提供了自动生成的交互式 API 文档。启动应用程序后,访问以下 URL 可以查看文档:
- Swagger UI: `http://127.0.0.1:8000/docs`
- ReDoc: `http://127.0.0.1:8000/redoc`
这些文档不仅展示了 API 的所有端点,还允许用户直接测试 API 功能[^4]。
---
阅读全文
相关推荐














