Files
SupervisorAI/api/routes/video_urls.py
2026-01-22 10:48:12 +08:00

62 lines
1.6 KiB
Python

"""
视频地址API路由
"""
from typing import List
from fastapi import APIRouter, HTTPException, status
from pydantic import BaseModel
# 创建路由器
router = APIRouter(
prefix="/video-urls",
tags=["视频地址管理"],
responses={
404: {"description": "资源不存在"},
400: {"description": "请求参数错误"},
500: {"description": "服务器内部错误"}
}
)
class VideoUrlRequest(BaseModel):
"""获取视频地址请求模型"""
videoId: List[str]
class VideoUrlResponse(BaseModel):
"""获取视频地址响应模型"""
videoUrl: List[str]
@router.post(
"/",
response_model=VideoUrlResponse,
status_code=status.HTTP_200_OK,
summary="获取视频地址",
description="根据视频ID数组获取对应的视频地址数组"
)
async def get_video_urls(request: VideoUrlRequest):
"""
获取视频地址
- **videoId**: 视频ID数组 (必须,字符串数组)
返回:
- **videoUrl**: 视频地址数组 (字符串数组)
"""
try:
# TODO: 后续实现根据videoId查询视频地址的逻辑
# 目前先返回模拟数据
video_urls = []
for video_id in request.videoId:
# 模拟根据videoId生成视频地址
video_url = f"http://example.com/videos/{video_id}.mp4"
video_urls.append(video_url)
return VideoUrlResponse(videoUrl=video_urls)
except Exception as e:
raise HTTPException(
status_code=status.HTTP_500_INTERNAL_SERVER_ERROR,
detail=f"获取视频地址失败: {str(e)}"
)