docs: router 파일 의존성 주입 패턴 원칙 추가

This commit is contained in:
Claude-51124 2025-12-23 21:53:42 +09:00
parent 8cf25e7ec5
commit b94e60d87b

View File

@ -41,6 +41,13 @@
└── tests/
```
### main.py 역할
- **앱 실행, 라우터 등록만** 담당
- 엔드포인트 직접 정의 금지 (`@app.post()`, `@app.get()` 등)
- router 파일에서 main.py의 인스턴스(router, scheduler 등) 사용 시 의존성 주입 패턴 사용
- 예: `set_router_instance()`, `set_scheduler()` 함수로 주입
- router 파일에서 직접 import하지 않음
### 폴더 명명 규칙
- `router/` 또는 `api/`: HTTP 처리
- `services/`: 비즈니스 로직
@ -132,6 +139,8 @@ utils
### 연결 방식
- **권장**: `db/database.py`에서 DB 세션 중앙 관리 (의존성 주입)
- **router 파일에서 main.py 인스턴스 사용**: `set_router_instance()`, `set_scheduler()` 같은 함수로 주입
- 예: `system_endpoint.py`에서 router 인스턴스, `schedule_endpoint.py`에서 scheduler 인스턴스
- **간단한 경우**: `state/database.py`에서 직접 연결
### Supabase 쿼리 컬럼명 충돌 처리