순수하게 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