Back-end/FastAPI(2)
-
Pydantic
[점프 투 FastAPI] 2-04-3 Pydantic으로 입출력 스펙을 정의한다. Pydantic에 대해 왜 사용하고 어떤 기능을 하는지 자세히 알아보자. Pydantic Request, Response 모델 정의. type annotation으로 데이터 검증과 설정 관리. 입출력 항목의 개수와 타입 설정. 입출력 항목의 필수값 체크. 유저 친화적 에러 제공. parsing 라이브러리로, 입력값을 정의된 타입으로 변환하여 모델의 타입과 제약 조건 보장. JSON이나 dict 변환 가능. BaseModel 아래와 같이 타입을 정의하고 설정한 타입과 일치하지 않으면 에러를 발생시킨다. UUID(Universally Unique IDentifier) : 고유성 보장, 주로 db의 Primary Key로 사용..
2024.04.02 -
의존성 주입_Depends
[점프 투 FastAPI] 2-04-2에서 @contextlib.contextmanager과 함께 with문을 사용해서 세션을 할당하고 반환하는 과정을 FastAPI의 Depends로 간단히 수정했다. Depends와 의존성 주입은 뭐지? from fastapi import APIRouter, Depends from sqlalchemy.orm import Session from database import get_db from models import Question router = APIRouter( prefix="/api/question", ) @router.get("/list") def question_list(db: Session = Depends(get_db)): _question_list = ..
2024.03.30