
fast api를 배포하려는 생각으로 파일을 설정하려고 하니,, 난 fast API의 파일 구조조차 모르고 있었다. REST API처럼 짜볼까 하니 함수도 다르고,,ㅜㅜ 어떻게 해야할지 함께 알아보자
출처
https://wikidocs.net/175950
📌 FAST API 파일 구조
├── main.py
├── database.py
├── models.py
└── domain
└── recommendation
이게 가장 기본적인 FAST API의 파일 구조라고 한다.
파일 구조에서도 알 수 있지만 REST API와는 꽤나 다른 모습을 취하고 있다.
🔍 main.py
- app 객체가 존재하는 파일. FAST API 첫번째 포스팅을 보면 무슨 내용인지 알 수 있다.
- main.py는 FAST API 프로젝트의 전체적인 환경설정을 담당한다.
🔍 database.py
- 데이터베이스를 설정한다.
- DB를 사용하기 위한 변수, 함수 등을 정의한다.
- 접속할 DB의 주소와 사용자, 비밀번호 등을 관리한다.
🔍 models.py
- 이 부분이 기존의 REST API와는 가장 다른 부분이라고 생각한다.
- 해당 파일은 모델 클래스들을 정의한다.
🔍 domain
- 이번 프로젝트는 간단한 추천과 API를 사용하는 것이 목표이다. 따라서 그에 따른 추천 도메인만 운영할 예정이다. 물론 이후에 더 추가가 될수는 있다.
도메인은 "recommendation"과 같이 굵직한 요구사항 또는 문제 영역을 대표하는 말이다.
- 각 도메인은 API 생성을 위한 파일들이 필요하다.
- 라우터 파일: URL과 API의 전체적인 동작을 관리
- 데이터베이스 처리 파일(CRUD)
- 입출력 관리 파일: 입력 데이터와 출력 데이터의 스펙 정의 및 검증
ex) domain/recommendation 파일이라면 다음과 같은 파일이 필요하다.
- recommendation_router.py: 라우터 파일
- recommendation_crud.py - 데이터베이스 처리 파일
- recommendation_schema.py - 입출력 관리 파일