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