BoilerPlate란?
BoilerPlate Code란 재 사용할 수 있는 뼈대 코드로, 보일러 플레이트를 작성해 놓고, 프로젝트 신규 생성 시마다 적용하여 사용 가능하다.
폴더 구조
FastAPI BoilerPlate
┌─FastAPI BoilerPlate
│ └─deployments
│ │
│ └─ Dockerfile
├─src
│ ├─app.py : 최초 main 실행 함수
│ │
│ ├─dtos/ : Input, Output 전달 Object
│ │
│ ├─db/ : DB Connect and CRUD
│ │
│ ├─models/ : DB models
│ │
│ ├─router/ : API Router
│ │
│ ├─services/ : 비즈니스 로직 서비스
│ │
│ └─test/ : 모듈별 Test 코드 폴더
│
└─README.md
폴더 구조 설명
- Dockerfile : 도커파일 Build 이미지
- app.py : 최초 main 실행 함수
- dtos/ : Input, Output 전달 Object - app1_dto.py, app2_dtop.py
- db/ : DB Connect and CRUD - mongo.py, postgresql.py 등 작성
- models/ : DB models - users.py, posts.py
- router/ : API Router - app1_router.py, app2_router.py 등 작성
- services/ : 비즈니스 로직 서비스 - app1_service.py, app2_service.py 등 각 router에 연결 작성
- test/ : 모듈별 Test 코드 폴더
(추가) ORM 기반 보일러 플레이트
만약 ORM 기반으로 프로젝트를 셋팅 하고 싶다면 다음 링크를 참조
FastAPI + SqlAlchemy + alembic (migration 관리 라이브러리)
https://github.com/teamhide/fastapi-boilerplate
참고 문헌
'Python > FastAPI' 카테고리의 다른 글
[FastAPI] (8) API Router 사용하기 (0) | 2022.12.16 |
---|---|
[FastAPI] (7) MySQL 연결 및 API Test (0) | 2022.11.01 |
[FastAPI] (5) FastAPI Validation - Path, Query, Field (0) | 2022.10.26 |
[FastAPI] (4) FastAPI POST 작성법 (0) | 2022.10.26 |
[FastAPI] (3) FastAPI 열거형 enum - GET (0) | 2022.10.05 |