fastAPI pydamic์ผ๋ก ์คํค๋ง ์ค์ ํ๊ธฐ
schema.py ์ Pydantic ๋ชจ๋ธ์ ์ฌ์ฉํ์ฌ ์์ฒญ ๋ฐ ์๋ต ์คํค๋ง๋ฅผ ์ ์
์์:
from pydantic import BaseModel
from typing import Optional
class JapaneseBase(BaseModel):
type: Optional[str] = None
letter: str
pronounciation: str
audio: Optional[str] = None
lesson: Optional[int] = None
img: Optional[str] = None # ์ ํ์ ํ๋
vid: Optional[str] = None # ์ ํ์ ํ๋
class JapaneseCreate(JapaneseBase):
pass
๋ค์ routers/ ํด๋์ ํด๋น ํ์ผ๋ก๊ฐ์, ๋ผ์ฐํฐ์ pydamic ์ ์ฉํ๊ธฐ
@router.get("/japanese", response_model=list[schemas.JapaneseCreate])
def letter_list(db: Session = Depends(get_db)):
#db = SessionLocal()
db_items = db.query(Japanese).all()
#db.close()
print("db_items",db_items)
return db_items
db.close(), db = SessionLocal() ๋ฅผ ์์จ๋ ๋๊ณ , ์ ์ง๋ณด์๊ฐ ๋์ฑ ์ฝ๋ค
๋ง์ฝ ๋๋น์์ ํน์ ์ด๋ง ๋ฝ๊ณ ์ถ๋ค?
์คํค๋งํ์ผ์์ ๋ชจ๋ธ ๊ตฌ์กฐ๋ง ์ ์ํ๋ฉด ๋๋ค!