r잡초처럼
바른 프로그래밍
r잡초처럼
전체 방문자
오늘
어제
  • 분류 전체보기 (124)
    • FastAPI (7)
    • 끄적끄적 (2)
    • Python (17)
    • Django (31)
    • Database (2)
    • Docker (7)
    • 디자인패턴 (2)
    • CS 공부 (12)
      • 알고리즘 (2)
      • 자료 구조 (1)
      • 네트워크 (7)
      • IT 지식 (1)
      • 운영체제 (1)
    • 기타 팁들 (10)
    • Aws (2)
    • 독서 (1)
    • 코딩테스트 공부 (1)
      • 백준 (0)
      • 프로그래머스 (1)
    • DevOps (13)
    • TIL (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 물리 계층
  • query param
  • 5장 회사에서 하는 랜 구성
  • Batch
  • 네트워크
  • cp949
  • preonboarding
  • 파이썬 클린 코드
  • 케이블의 종류
  • 6장
  • 7장
  • encoding
  • validate
  • dotenv
  • poetry
  • 랜 카드
  • docker
  • fastapi
  • 책 리뷰
  • pycharm
  • 상속 안티 패턴
  • 전기 신호
  • pytest
  • 랜과 왠
  • depends
  • 상속과 컴포지션
  • 완벽한 IT 인프라 구축을 위한 Docker
  • CS 지식
  • 모두의 네트워크
  • 컴퓨터 기본 지식

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
r잡초처럼

바른 프로그래밍

FastAPI

Annotated

2023. 8. 3. 11:10

Annotated를 활용해 Type hint에 대한 Metadata를 설정해 보자

 

정의

typing.Annotated란 해당 타입에 대한 메타데이터를 제공해 준다.

 

사용법

  •  예를 들어 다음과 같이 사용할 수 있다
T1 = Annotated[int, ValueRange(-10, 5)]
T2 = Annotated[T1, ValueRange(-20, 3)]
  • Annotated는 첫 번째 인자는 유효한 자료형이어야 한다. T2와 같이 가변인자도 지원한다.
  • 또한 위와 같이 여러 개의 형 주석이 지원된다.
Annotated[int, ValueRange(3, 10), ctype("char")]
  • Annotated는 최소한 두 개의 인자로 호출해야 한다.
# error
num: Annotated[int]

# Good
num: Annotated[int, "숫자"]
  • FastAPI에선 Query와 같이 사용하여 다음과 같이 validate도 할 수 있다.
from typing import Annotated

from fastapi import FastAPI, Query

app = FastAPI()


@app.get("/items/")
async def read_items(q: Annotated[str | None, Query(max_length=50)] = None):
	...

 

참고

1. https://docs.python.org/ko/3.9/library/typing.html#typing.Annotated

 

typing — 형 힌트 지원 — Python 3.9.17 문서

typing — 형 힌트 지원 소스 코드: Lib/typing.py 참고 파이썬 런타임은 함수와 변수 형 어노테이션을 강제하지 않습니다. 형 어노테이션은 형 검사기, IDE, 린터(linter) 등과 같은 제삼자 도구에서 사용

docs.python.org

2. https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#__tabbed_2_1

'FastAPI' 카테고리의 다른 글

FastAPI - Query Parameter에 Custom Validate 적용하기  (0) 2023.09.02
FastApi 사용하면서 기록할 것들  (0) 2023.08.30
QueryParameter  (0) 2023.08.02
FastAPI - PathParameter  (0) 2023.08.02
FastAPI 시작하기 - 개발환경 세팅  (0) 2023.08.01
    'FastAPI' 카테고리의 다른 글
    • FastAPI - Query Parameter에 Custom Validate 적용하기
    • FastApi 사용하면서 기록할 것들
    • QueryParameter
    • FastAPI - PathParameter
    r잡초처럼
    r잡초처럼
    오늘보다 내일 더 나은 개발자가 되기 위한 노력을 기록하는 블로그 입니다.

    티스토리툴바