解决接口参数验证的问题。

This commit is contained in:
Hommy
2026-03-19 20:03:28 +08:00
parent 511aa916f6
commit eb838630f5
+10 -2
View File
@@ -1,4 +1,4 @@
from pydantic import BaseModel, Field
from pydantic import BaseModel, Field, field_validator
from typing import List, Optional
from .audio_timelines import TimelineItem
@@ -7,7 +7,15 @@ class FilterInfosRequest(BaseModel):
"""滤镜信息请求参数"""
filters: List[str] = Field(..., description="滤镜名称列表")
timelines: List[TimelineItem] = Field(..., description="时间线数组")
intensities: Optional[List[float]] = Field(default=None, ge=0, le=100, description="滤镜强度列表(0-100),可选")
intensities: Optional[List[float]] = Field(default=None, description="滤镜强度列表(0-100),可选")
@field_validator('intensities', mode='before')
@classmethod
def validate_intensities(cls, v):
"""验证并限制 intensities 数组中的每个值在 0-100 范围内"""
if v is None:
return v
return [max(0, min(100, val)) for val in v]
class FilterInfosResponse(BaseModel):