[ FastAPI ] 바디 - 필드
728x90
반응형
Query , Path 그리고 Body 를 사용하여 경로 동작 함수 매개변수에 추가적인 유효성 검사와 메타 데이터를 선언한 것처럼, Pydantic 모델 내부에 Pydantic의 Field 를 사용하여 유효성 검사와 메타 데이터를 선언할 수 있습니다.
Field 임포트
우선, 이것을 임포트해야 합니다:
주의
Field 가 다른 것( Query , Path , Body 기타 등등) 처럼 fastapi 가 아닌 pydantic 으로부터 바로 임포트 된다는 걸 명심하시기 바랍니다.
모델 어트리뷰트 선언
모델 어트리뷰트와 함께 Field 를 사용할 수 있습니다.
Field 는 Query , Path , Body 와 같이 동작하며, 이와 동일한 매개변수와 다른 것들을 갖습니다.
기술적 세부사항
사실, Query , Path 그리고 다음에 살펴 볼 다른 것들은 이것 스스로 Pydantic의 FieldInfo 클래스의 서브 클래스인, 공통 Param 클래스의 서브 클래스로 객체를 생성합니다.
그리고 Pydantic의 Field 는 FieldInfo 의 인스턴스 또한 반환합니다.
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/
728x90
반응형
'FastAPI > Tutorial - User Guide' 카테고리의 다른 글
[ FastAPI ] 요청 예시 데이터 선언 (0) | 2021.09.19 |
---|---|
[ FastAPI ] 바디 - 중첩된 모델 (0) | 2021.09.17 |
[ FastAPI ] 바디 - 다중 매개변수 (0) | 2021.09.12 |
[ FastAPI ] 경로 매개변수와 숫자형 유효성 검사 (0) | 2021.09.03 |
[ FastAPI ] 쿼리 매개변수와 문자열 유효성 검사 (0) | 2021.09.02 |