c5d165275c
세 클라이언트가 공유하는 계약 중 정의가 빠져 있던 부분을 채운다.
- 목록 응답 형태를 {items, pageInfo} 로 고정하고 커서/오프셋 쿼리 DTO 제공
- @SkipTransform() 으로 스트림·204 등 래핑하면 안 되는 응답을 제외
- ApiStandardResponse/ApiErrorResponse 로 Swagger 문서를 실응답과 일치시킴
(컨트롤러는 raw 를 반환하지만 실제 응답은 래핑되어 문서가 어긋나 있었다)
- RequestIdMiddleware 로 모든 요청에 x-request-id 부여
- API 설계 규약(api-design.md) 신설 — REST 경로·쿼리·날짜/ID 표현·버전 관리
또한 .gitignore 의 data/ 패턴이 모든 depth 에 매칭되어
flutter/lib/features/user/data/ 의 소스가 커밋되지 않던 문제를 함께 고친다.
(user_provider.dart 가 import 하는 파일이 저장소에 없어 flutter analyze 가 깨져 있었다)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
55 lines
1.2 KiB
Plaintext
55 lines
1.2 KiB
Plaintext
# ==========================================
|
|
# 환경 변수 (민감정보) — 절대 커밋 금지
|
|
# ==========================================
|
|
.env
|
|
.env.*
|
|
!.env.example
|
|
!.env.*.example
|
|
|
|
# ==========================================
|
|
# 도커 영속 데이터
|
|
# ==========================================
|
|
# ⚠️ 루트 기준으로 고정한다(앞의 /). 'data/' 로 두면 모든 depth 의 data 디렉터리가 무시되어
|
|
# flutter/lib/features/<도메인>/data/ 같은 소스 코드까지 커밋되지 않는다.
|
|
/data/
|
|
!/data/.gitkeep
|
|
/db-data/
|
|
/redis-data/
|
|
|
|
# ==========================================
|
|
# 의존성/빌드 산출물
|
|
# ==========================================
|
|
node_modules/
|
|
dist/
|
|
build/
|
|
coverage/
|
|
.tsbuildinfo
|
|
*.tsbuildinfo
|
|
|
|
# ==========================================
|
|
# 로그
|
|
# ==========================================
|
|
logs/
|
|
*.log
|
|
npm-debug.log*
|
|
yarn-debug.log*
|
|
yarn-error.log*
|
|
pnpm-debug.log*
|
|
|
|
# ==========================================
|
|
# IDE / OS
|
|
# ==========================================
|
|
.idea/
|
|
.vscode/*
|
|
!.vscode/extensions.json
|
|
!.vscode/settings.json
|
|
.DS_Store
|
|
Thumbs.db
|
|
|
|
# ==========================================
|
|
# 캐시
|
|
# ==========================================
|
|
.cache/
|
|
.eslintcache
|
|
.npm/
|