新增视频routes
This commit is contained in:
62
api/routes/video_urls.py
Normal file
62
api/routes/video_urls.py
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
"""
|
||||||
|
视频地址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)}"
|
||||||
|
)
|
||||||
Reference in New Issue
Block a user