checkpoint: require_redis 显式 503 守卫——存储类接口(AI配置/在线/缓存/验证码)接线

- dependencies: require_redis 改标准 FastAPI 依赖(Depends(redis_getter)),Redis 不可用显式 503 而非 500/静默空数据
- AI配置 5 端点 / 在线监控 5 端点 / 缓存监控 6 端点切到 require_redis
- 免认证验证码端点(captcha/get、slider/complete)也接线:Redis 挂时返回 503 而非 500
- login/token/oauth 保留 redis_getter(服务层内联 503 守卫语义不变)
This commit is contained in:
34047007@qq.com
2026-08-07 21:47:47 +08:00
parent 0b50e0adfa
commit c1fa752d9b
5 changed files with 27 additions and 27 deletions
@@ -30,7 +30,7 @@ from app.common.enums import EnvironmentEnum
from app.common.response import ErrorResponse, RedirectContentResponse, ResponseSchema, SuccessResponse
from app.config.setting import settings
from app.core.base_schema import JWTOutSchema
from app.core.dependencies import db_getter, get_current_user, redis_getter
from app.core.dependencies import db_getter, get_current_user, redis_getter, require_redis
from app.core.exceptions import CustomException
from app.core.logger import logger
from app.core.redis_crud import RedisCURD
@@ -90,7 +90,7 @@ async def get_new_token_controller(
@AuthRouter.get("/captcha/get", summary="获取验证码", response_model=ResponseSchema[CaptchaOutSchema])
async def get_captcha_for_login_controller(
redis: Annotated[Redis, Depends(redis_getter)],
redis: Annotated[Redis, Depends(require_redis)],
) -> JSONResponse:
captcha = await CaptchaService.get_captcha(redis=redis)
return SuccessResponse(data=captcha, msg="获取验证码成功")
@@ -112,7 +112,7 @@ async def get_login_default_controller() -> JSONResponse:
@AuthRouter.post("/captcha/slider/complete", summary="滑块验证完成", response_model=ResponseSchema[SliderCompleteOutSchema])
async def slider_complete_controller(
redis: Annotated[Redis, Depends(redis_getter)],
redis: Annotated[Redis, Depends(require_redis)],
body: SliderCompleteSchema,
) -> JSONResponse:
result = await CaptchaService.slider_complete(redis=redis, captcha_key=body.captcha_key)