728x90
반응형

Query , Path 그리고 Body 를 사용하여 경로 동작 함수 매개변수에 추가적인 유효성 검사와 메타 데이터를 선언한 것처럼, Pydantic 모델 내부에 Pydantic의 Field 를 사용하여 유효성 검사와 메타 데이터를 선언할 수 있습니다.

 

Field 임포트

우선, 이것을 임포트해야 합니다:

 

 

주의

Field 가 다른 것( Query , Path , Body 기타 등등) 처럼 fastapi 가 아닌 pydantic 으로부터 바로 임포트 된다는 걸 명심하시기 바랍니다.

 

모델 어트리뷰트 선언

모델 어트리뷰트와 함께 Field 를 사용할 수 있습니다.

 

 

FieldQuery , Path , Body 와 같이 동작하며, 이와 동일한 매개변수와 다른 것들을 갖습니다.

 

기술적 세부사항

사실, Query , Path 그리고 다음에 살펴 볼 다른 것들은 이것 스스로 Pydantic의 FieldInfo 클래스의 서브 클래스인, 공통 Param 클래스의 서브 클래스로 객체를 생성합니다.

그리고 Pydantic의 FieldFieldInfo 의 인스턴스 또한 반환합니다.

Body 또한 바로 FieldInfo 의 서브 클래스의 객체를 반환합니다. 그리고 나중에 살펴 볼 다른 것들도 Body 클래스의 서브 클래스입니다.

fastapi 로 부터 Query , Path , 그리고 다른 것들을 임포트할 경우, 이것들이 사실 특별한 클래스를 반환하는 함수인 것을 기억하시기 바랍니다.

 



자료형, 기본 값 그리고 Field 를 사용한 각 모델의 어트리뷰트가 Path , Query 그리고 Body 대신 Field 를 사용한 경로 동작 함수의 매개변수와 어떻게 동일한 구조를 가지는지 잊지 마시기 바랍니다.

 

정보 추가

Field , Query , Body 기타 등등에 추가 정보를 선언할 수 있습니다. 그리고 이것은 생성된 JSON 스키마에 포함됩니다.

 

해당 공식 문서에서 나중에 예시를 선언하는 방법을 배울 때, 정보를 추가하는 방법을 더 학습하게 됩니다.

 

요약

Pydantic의 Field 를 사용하여 모델 어트리뷰트에 추가적인 유효성 검사와 메타 데이터를 선언할 수 있습니다.

 

또한 추가적인 JSON 스키마 메타 데이터를 전달하기 위해 추가적인 키워드 인자를 사용할 수 있습니다.

 


원문

https://fastapi.tiangolo.com/tutorial/body-fields/

 

Body - Fields - FastAPI

Body - Fields The same way you can declare additional validation and metadata in path operation function parameters with Query, Path and Body, you can declare validation and metadata inside of Pydantic models using Pydantic's Field. Import Field First, you

fastapi.tiangolo.com

 

728x90
반응형