[FastAPI] pydantic @root_validator 사용

UNGGI LEE·2023년 9월 4일
0

사용이유

순수하게 pydantic만 사용할 경우, exception 메시지가 pydantic에서 정의한대로만 출력되기 때문에 커스텀이 어렵다.

@root_validator를 사용하면, request를 통해 전달된 값들을 추가적으로 검증할 수 있게 된다.

그리고 pre=True를 인자로 주게되면 class 내에서 우선적으로 해당 함수가 실행되게 된다.

from pydantic import BaseModel, root_validator

...

class PydanticClass(BaseModel):
	user_id: str
    user_num: int
    
    @root_validator(pre=True)
    def validator(cls, values):
    	...
    	return value

Reference

https://sarangkkun.tistory.com/entry/FastAPI-pydantic-rootvalidator-%ED%86%B5%ED%95%B4-%EC%9C%A0%ED%9A%A8%EC%84%B1-%EA%B2%80%EC%A6%9D

profile
NLP Researcher & ML Engineer @i-Scream Edu

0개의 댓글