修复限流器问题

This commit is contained in:
2026-04-01 16:05:57 +08:00
parent 4e99ca2b21
commit 23319d8e10
8 changed files with 129 additions and 95 deletions

View File

@@ -7,7 +7,7 @@ Author: Canglan <admin@sea-studio.top>
License: AGPL v3
"""
from fastapi import APIRouter, HTTPException, Query
from fastapi import APIRouter, HTTPException, Query, Request
from typing import Optional, List
from ...dependencies import CurrentUserDependency, DbDependency
from ...models import Todo
@@ -19,6 +19,7 @@ router = APIRouter(prefix="/api/v1/todos", tags=["todos"])
@router.get("/", response_model=List[TodoResponse])
@rate_limit(requests=100, period=60)
async def get_todos(
request: Request, # 添加 request 参数
current_user: CurrentUserDependency,
db: DbDependency,
skip: int = Query(0, ge=0),
@@ -38,6 +39,7 @@ async def get_todos(
@router.post("/", response_model=TodoResponse, status_code=201)
@rate_limit(requests=50, period=60)
async def create_todo(
request: Request, # 添加 request 参数
data: TodoCreate,
current_user: CurrentUserDependency,
db: DbDependency
@@ -51,6 +53,7 @@ async def create_todo(
@router.put("/{todo_id}", response_model=TodoResponse)
@rate_limit(requests=50, period=60)
async def update_todo(
request: Request, # 添加 request 参数
todo_id: int,
data: TodoUpdate,
current_user: CurrentUserDependency,
@@ -71,6 +74,7 @@ async def update_todo(
@router.delete("/{todo_id}")
@rate_limit(requests=30, period=60)
async def delete_todo(
request: Request, # 添加 request 参数
todo_id: int,
current_user: CurrentUserDependency,
db: DbDependency