[api] claude.md 수정
This commit is contained in:
@@ -36,13 +36,35 @@ com.alist.api
|
||||
| 프로파일 | 설명 |
|
||||
|---------|------|
|
||||
| `local` | 로컬 개발 환경 |
|
||||
| `pjt` | 프로젝트(운영) 환경 |
|
||||
| `pjt` | 프로젝트(개발) 환경 |
|
||||
|
||||
## 보안 구조
|
||||
- **Swagger**: `/v3/api-docs/**`, `/swagger-ui/**` → HTTP Basic 인증 (InMemory)
|
||||
- **API**: JWT Bearer 토큰 인증 (Stateless)
|
||||
- **공개 경로**: `/`, `/actuator/health`, `/auth/**`, `/api/user/signup`
|
||||
|
||||
## 응답 코드 규칙
|
||||
|
||||
`ApiResponseCode` enum으로 관리. 주요 코드:
|
||||
|
||||
| 코드 | 메시지 | HTTP Status | 용도 |
|
||||
|------|--------|-------------|------|
|
||||
| `CODE_200` | 성공 | 200 OK | 일반 성공 |
|
||||
| `CODE_400` | 잘못된 요청 | 400 Bad Request | 일반 클라이언트 오류 |
|
||||
| `CODE_401` | 인증 필요 합니다. | 401 Unauthorized | 인증 없음 |
|
||||
| `CODE_403` | 접근 권한 필요 합니다. | 403 Forbidden | 권한 없음 |
|
||||
| `CODE_404` | 페이지를 찾을 수 없습니다. | 404 Not Found | 리소스 없음 |
|
||||
| `CODE_405` | 잘못된 요청입니다. 요청 방식을 확인해 주세요. | 405 Method Not Allowed | 메서드 불일치 |
|
||||
| `CODE_500` | 요청을 처리하는 중 오류가 발생했습니다. | 500 Internal Server Error | 서버 오류 |
|
||||
| `CODE_2001` | {0} 정보 조회에 성공하였습니다. | 200 OK | 단건 조회 성공 |
|
||||
| `CODE_2002` | {0} 등록 되었습니다. | 201 Created | 등록 성공 |
|
||||
| `CODE_2003` | 조회된 정보가 없습니다. | 200 OK | 조회 결과 없음 |
|
||||
| `CODE_2004` | 중복된 {0} 정보 입니다. | 409 Conflict | 중복 데이터 |
|
||||
| `CODE_4001` | 입력값을 확인해주세요. | 400 Bad Request | `@Valid` / 바인딩 / 타입오류 / JSON 파싱 실패 |
|
||||
| `CODE_4003` | 필수 요청 파라미터가 누락되었습니다. | 400 Bad Request | 필수 파라미터 누락 |
|
||||
|
||||
- `{0}` 자리에 대상명 삽입 (예: `CODE_2001` → "회원 정보 조회에 성공하였습니다.")
|
||||
|
||||
## 빌드 및 실행
|
||||
```bash
|
||||
# 빌드
|
||||
@@ -64,7 +86,14 @@ java -jar build/libs/api.jar --spring.profiles.active=local
|
||||
- 응답 코드는 `ApiResponseCode` enum 사용
|
||||
- MyBatis Mapper XML은 `src/main/resources/mapper/` 하위에 작성
|
||||
- 카멜케이스 자동 변환 활성화 (`map-underscore-to-camel-case: true`)
|
||||
- 새 모듈은 `modules/{도메인}/` 하위에 Controller, Service, Mapper, DTO 구성
|
||||
- 새 모듈 추가 시: `modules/{moduleName}/` 하위에 Controller, Service, Mapper, dto/, vo/ 구조로 생성
|
||||
- Mapper XML은 `resources/mapper/{moduleName}/` 에 위치
|
||||
|
||||
## MyBatis 규칙
|
||||
- Mapper XML 위치: `src/main/resources/mapper/**/*.xml`
|
||||
- `map-underscore-to-camel-case: true` 설정 → DB 컬럼 `user_idx` → Java 필드 `userIdx` 자동 매핑
|
||||
- Mapper 인터페이스와 XML의 namespace, id 반드시 일치시킬 것
|
||||
- VO: DB 조회 결과 매핑용 / DTO: 서비스 레이어 간 데이터 전달용 / Form: 컨트롤러 입력 검증용
|
||||
|
||||
## CI/CD
|
||||
- **Jenkins**: `Jenkinsfile.pjt`
|
||||
|
||||
Reference in New Issue
Block a user