[Pydantic]
- FastAPI의 입출력을 정의, 데이터를 검증
- 입출력 항목의 갯수와 타입 설정
- 입출력 항목의 필수값 체크
- 입출력 항목의 데이터 검증
- Pydantic을 사용하기 위해 출력 스키마를 생성해야 함
[스키마]
- 출력 스키마는 해당 도메인에서 schema.py로 관리
- 데이터의 구조와 명세(출력항목 개수, 제약조건 등)
[사용방법: 스키마 만들기 > router에 적용 > api동작 확인]
1. 스키마 만들기
#---------- domain/question/question_schema.py
from pydantic import BaseModel
from datetime import datetime
class Question(BaseModel): #베이스모델 상속
#Question모델의 field들 중 보이고 싶은 field만 작성해 주기
id: int
subject: str
content: str
create_date: datetime
2. router에 적용
#---------- domain/question/question_router.py
from domain.question import question_schema
#response_model로 해당 api에서 출력되는 데이터는 question_schema.Question의 모양을 따르는 리스트 형태
@router.get('/list', response_model=list[question_schema.Question])
def question_list(db: Session=Depends(get_db)):
question_list = db.query(Question).order_by(Question.created_date.desc())
return question_list




'FrameWork > FastAPI' 카테고리의 다른 글
질문목록 호출 및 내용 표시 (0) | 2024.05.26 |
---|---|
CRUD (0) | 2024.05.26 |
db커넥션 관리 (0) | 2024.05.25 |
Router (0) | 2024.05.25 |
database 구축 (0) | 2024.05.24 |