티스토리 뷰

기본 사용법

  • main.py
from fastapi import FastAPI
app = FastAPI()


@app.get("/items/{item_id}")
async def read_item(item_id):
    return {"item_id": item_id}

{item_id}에 매핑되어 read_item(item_id) 매개변수로 받을 수 있습니다.
서버를 실행 한 후 PostMan으로 위에서 만든 핸들러를 호출해봅니다.

{item_id}로 받은 값이 출력되는 것을 확인할 수 있습니다.

매개변수 타입지정

@app.get("/items/{item_id}")
async def read_item(item_id: int):
    return {"item_id": item_id}

: int로 지정해주면 됩니다.
만약 /items/3을 호출하면 "3"이 아닌 int형 3으로 받게됩니다.

만약 str 값을 넘길 경우 에러가 발생합니다.

파이썬 타입을 선언하면 데이터 검증을 진행하며, 오류는 검증을 통과하지 못한 지점까지 정확하게 명시한다고 합니다.

Enum 타입 매개변수

지정된 Enum 타입으로 매개변수를 받고 싶다면

  • main.py
from enum import Enum
from fastapi import FastAPI

app = FastAPI()

class Brand(str, Enum):
    nike = "nike"
    adidas = "adidas"

@app.get("/brands/{brand_name}")
async def get_brand(brand_name: Brand):
    if brand_name == Brand.nike:
        return {"brand_name": brand_name, "message": "JUST DO IT."}

    if brand_name == Brand.adidas:
        return {"brand_name": brand_name, "message": "IMPOSSIBLE IS NOTHING."}

실행 결과

위 예제에서 매개변수 타입을 Brand 타입으로 지정을 했기 때문에

등록되지 않은 Enum일 경우에러와 함께 등록된 Enum 목록을 알려줍니다.

 

이번 포스팅은 여기서 마무리하겠습니다.

 

모든 코드는 Github 에서 보실 수 있습니다.

틀린점과 개선할 점은 댓글로 알려주시면 감사하겠습니다.

'Dev > Python' 카테고리의 다른 글

[Fast Api] 3. Query Parameter  (0) 2021.06.12
[Fast Api] 1. 처음 시작하기  (0) 2021.06.09
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함