[FastAPI] Pydantic BaseModel을 사용해서 Query Parameter 모델 생성하기

오도원공육사·2021년 10월 20일
0

FastAPI

목록 보기
1/4

Pydantic의 BaseModel을 상속받아서 모델을 생성한 후에 해당 모델의 데이터들을 Query Parameter로 받는 예제이다. Depends()를 사용하면 Paramter로 받을 수 있다.

from fastapi import FastAPI, Depends
from fastapi.responses import JSONResponse
from fastapi.encoders import jsonable_encoder
from pydantic import BaseModel
from datetime import datetime

class Filter(BaseModel):
	start_date: datetime = None
	end_date: datetime = None
	page_index: int = 1
	page_size: int = 100

app = FastAPI()

@app.get("/")
async def get_data(data_filter: Filter = Depends()):
	return JSONResponse(status_code=200, content=jsonable_encoder(filter))

위 예제는 받은 데이터를 그대로 반환하는 것이 전부이지만 data_filter 변수로 데이터들에 접근할 수 있다.

OpenAPI에서 다음과 같이 정상적으로 나온 것을 확인할 수 있다.

profile
잘 먹고 잘살기

0개의 댓글