fastapi/fastapi
FastAPI 0.148.0, 기본값 검증 방식 변경
원제 fastapi/fastapi 0.148.0
0.148.0
Key Point
FastAPI 사용자는 기본값 검증 로직이 변경되었으므로 기존 코드에서 자동 검증에 의존하고 있다면 명시적으로 validate_default=True를 추가해야 하는 breaking change입니다.
핵심 요약
- FastAPI 0.148.0에서 Query, Header, Cookie, Form 파라미터와 모델 필드의 기본값이 더 이상 사용자 입력으로 취급되지 않으며, validate_default=True를 명시하지 않으면 검증되지 않습니다.
- omitted 값에 대해 검증을 실행해야 하는 경우, 모델 필드에는 Field(validate_default=True), 파라미터에는 Query(validate_default=True) 등을 설정해야 합니다.
- Body(validate_default=True)도 이제 정상 작동하며, 파라미터 모델에서 기본값을 설정하면 더 이상 필드가 명시적으로 설정된 것으로 표시되지 않아 model_dump(exclude_unset=True)에서 제외됩니다.
- 기본값 팩토리는 한 번만 실행되고, 검증 오류는 더 이상 주입된 기본값을 input 영역에 포함하지 않습니다.
- omitted boolean 폼 필드는 여전히 False가 되며 명시적으로 설정된 것으로 계산됩니다.
릴리스 노트 보기 ↗github.com