[라우터 만들기]
라우터를 만들려면
myapi/domain/question/question_router.py 에서 설정을 해야한다
그리고 app에서 인식해야하기 때문에
main.py 에서 설정을 해야한다 라우팅 관련 설정
from domain.question import question_router
app.include_router(question_router.router)
db 세션 객체를 생성한 후에 db.close()를 수행하지 않으면 SQLAlchemy가 사용하는 컨넥션 풀에 db세션이 반환되지 않아 문제가 생긴다.
이러한 부분을 자동화 하려면
FastAPI의 Dependency Injection을 사용하면 이부분을 깔끔하게 해결
프로그래밍에서 의존성주입의 뜻은 필요한 기능을 선언하여 사용할수 있다는 의미 이다.
database.py 파일에 다음과 같은 함수를 만들어보자
pydantic => FastAPI의 입출력 스펙을 정의하고 그 값을 검증하기 위해 사용하는 라이브러리
입출력 항목의 갯수와 타입 설정
입출력 항목의 필수값 체크
입출력 항목의 데이터 검증
스키마: 데이터의 구조와 명세