728x90
반응형

지금까지, 다음과, 같은 보편적인 데이터 자료형을 사용했습니다:

 

  • int
  • float
  • str
  • bool

 

그러나 더 복잡한 데이터 자료형을 사용할 수도 있습니다.

 

그리고 지금까지 봐왔던 동일한 기능을 사용할 수 있습니다:

 

  • 훌륭한 편집기 지원.
  • 들어오는 요청에 대한 데이터 변환.
  • 응답 데이터를 위한 데이터 변환.
  • 데이터 유효성 검사.
  • 자동 어노테이션과 문서화.

 

다른 데이터 자료형

아래는 사용할 수 있는 추가적인 데이터 자료형입니다:

  • UUID :
    • 많은 데이터베이스와 시스템에서 보통 ID로 사용되는, 표준 "범용 고유 식별자(Universally Unnique Identifier)".
    • 요청과 응답에서 str 로 표현.
  • datetime.datetime
    • 파이썬의 datetime.datetime .
    • 요청과 응답에서 2008-09-15T15:53:00+05:00 와 같이 ISO 8601 포맷의 str 로 표현.
  • datetime.date :
    • 파이썬의 datetime.date .
    • 요청과 응답에서 2008-09-15 와 같이 ISO 8601 포맷의 str 로 표현.
  • datetime.time :
    • 파이썬의 datetime.time
    • 요청과 응답에서 14:23:55.003 와 같이 ISO 8601 포맷의 str 로 표현.
  • datetime.timedelta :
    • 파이썬의 datetime.timedelta .
    • 요청과 응답에서 총 시간을 float 으로 표현.
    • Pydantic은 "ISO 8601 시간차 부호화"로 표현 가능, 추가 정보는 문서를 확인.
  • frozenset
    • 요청과 응답에서, set 과 동일하게 처리:
      • 요청에서, 리스트가 조회되면, 중복 제거 및 set 으로 변환.
      • 응답에서, setlist 로 변환.
      • 생성된 스키마가 (JSON 스키마의 uniqueItems 을 사용하여) set 값을 고유하게 구체화.
  • bytes
    • 표준 파이썬 bytes .
    • 요청과 응답에서 str 로 처리.
    • 생성된 스키마가 binary "포맷"을 통해 str 로 구체화.
  • Decimal :
    • 표준 파이썬 Decimal .
    • 요청과 응답에서, float 으로 처리.
  • 모든 유효한 pydantic 데이터 자료형은 여기: Pydantic 데이터 자료형에서 확인할 수 있습니다.

 

예시

아래는 위 자료형 중 일부를 매개변수로 사용한 경로 동작 예시입니다.

 

 

함수 내부의 매개변수는 본래의 데이터 자료형을 갖고 있기 때문에, 예를 들어, 다음과 같이 일반적인 날짜 조작이 가능합니다:

 

 


원문

https://fastapi.tiangolo.com/tutorial/extra-data-types/

 

Extra Data Types - FastAPI

Up to now, you have been using common data types, like: But you can also use more complex data types. And you will still have the same features as seen up to now: Great editor support. Data conversion from incoming requests. Data conversion for response da

fastapi.tiangolo.com

 

728x90
반응형