안녕하세요. 이번 시간에는 field 단위로 동작하는 validator에 대해 알아보겠습니다. 먼저 아래 프로그램을 보겠습니다. x: int = Field(gt=5)라고 되어 있습니다. pydantic의 Field인데요. gt는 greater than의 약자입니다. 즉, 5보다 커야 된다는 조건이 있어야 합니다. 9번째 줄에는 custom validator를 작성하였는데요. "x"는 필드명을 의미합니다. 필드명 x에 대한 커스텀 벨리데이터 함수는 check_x를 의미해요. 1번째 인자는 cls, 2번째 인자는 v인데요. v는 실제로 check_x에 들어온 필드 x의 값을 의미합니다. 보통 이 v값을 검증해서, 조건에 맞지 않으면 ValueError를 떨어트리게 됩니다. pre=True라고 되어 있는데요...
Validation 검색 결과
해당 글 2건
fastapi pydantic 필드 단위로 동작하는 validator를 간단하게 알아봅시다
웹/FASTAPI
2023. 6. 9. 23:47
pathvariable과 query parameter validation 실패했을 때 custom message를 떨어트려 봅시다.
RequestBody에 대해서 Validation이 실패했을 때 custom한 error를 떨어트리는 것을 하였습니다. 그런데, 쿼리 파라미터라던지, path variable에 대해서 Validation을 처리하지는 못합니다. 이것을 처리하기 위해서는 ConstrainViolationException을 컨트롤러 advice에서 처리해 주어야 합니다. ContraintViolationException이 떨어졌을 때, custom message를 어떻게 떨굴지 보도록 하겠습니다. 먼저, e에 contraintViolations가 있습니다. HashSet이 있는데요. 이 안에 ConstraintViolationImple가 들어가 있음을 볼 수 있어요. HashSet 내부에 있는 키들을 모두 순회해서 값들을 가..
웹/스프링부트
2021. 10. 29. 20:55
최근댓글