| 123456789101112131415161718192021222324252627282930 |
- from typing import List
- from fastapi import APIRouter, Query, Depends
- from app.core.redis import get_redis_client
- from redis.asyncio import Redis
- from app.schemas.user import UserOut
- from app.schemas.troov import TroovRate
- from app.services.troov_service import get_rate_by_date
- # 公共路由
- public_router = APIRouter(prefix="/api", tags=["troov"])
- @public_router.get("/ping")
- def ping():
- return {"message": "pong"}
- # 受保护路由
- protected_router = APIRouter(prefix="/api", tags=["troov"])
- @protected_router.get("/users", response_model=List[UserOut])
- def get_users():
- return [
- {"id": 1, "name": "Alice"},
- {"id": 2, "name": "Bob"}
- ]
- @protected_router.get("/troov/rate", response_model=List[TroovRate])
- def troov_rate(date: str = Query(..., description="查询的日期, 格式: YYYY-MM-DD"),
- redis_client: Redis = Depends(get_redis_client)):
- # 调用 service 层获取数据
- return get_rate_by_date(redis_client, date)
|