From 31d3402db862b94a55a1f38b935dee5859a14a45 Mon Sep 17 00:00:00 2001 From: sohot8653 Date: Thu, 18 Sep 2025 10:46:30 +0900 Subject: [PATCH] =?UTF-8?q?[STS=20=ED=98=B8=ED=99=98=EC=84=B1=20=EC=9E=91?= =?UTF-8?q?=EC=97=85]=20=EC=A3=BC=EC=84=9D=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 30 ++++++++++++++++++++++++++---- build.gradle | 5 +++-- 2 files changed, 29 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 32416ad..3a94d12 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,28 @@ - **Container**: Docker + Kubernetes - **API Documentation**: Swagger (SpringDoc OpenAPI) +## 개발 환경 설정 + +### Eclipse/STS 사용 시 필수 설정 + +**Annotation Processing 설정이 필요합니다.** + +STS에서 프로젝트를 열었을 때 컴파일 오류가 발생하는 경우, 다음 설정을 확인하세요: + +1. **프로젝트 우클릭** → **Properties** 선택 +2. **Java Compiler** → **Annotation Processing** 선택 +3. 다음 설정을 확인/적용: + - **Enable project specific settings** 체크 + - **Enable annotation processing** 체크 + - **Enable processing in editor** 체크 해제 (선택사항) + - **Generated source directory**: `build/generated/sources/annotationProcessor/java/main` + - **Generated test source directory**: `build/generated/sources/annotationProcessor/java/test` + +**설정 이유:** +- MapStruct 매퍼 인터페이스의 구현체가 자동 생성됩니다 +- QueryDSL Q클래스들이 자동 생성됩니다 +- 이 설정이 없으면 컴파일 오류가 발생할 수 있습니다 + ## 개발 가이드 ### 1. 프로젝트 구조 @@ -66,7 +88,7 @@ public class ApiResponseDto { "success": true, "code": 201, "message": "COMMON_SUCCESS_CREATED", - "description": "Created successfully", + "description": "성공적으로 생성되었습니다", "data": { "seq": 1, "userId": "user123", @@ -82,7 +104,7 @@ public class ApiResponseDto { "success": false, "code": 409, "message": "USER_ID_DUPLICATE", - "description": "User ID already exists" + "description": "이미 존재하는 사용자 ID입니다" } ``` @@ -142,8 +164,8 @@ public enum ApiResponseCode { #### 토큰 구성 -- **Access Token**: 15분 (900,000ms) - API 요청 시 사용 -- **Refresh Token**: 7일 (604,800,000ms) - 쿠키에 저장, 자동 갱신 +- **Access Token** - 쿠키에 저장, 자동 갱신 +- **Refresh Token** - 쿠키에 저장, 자동 갱신 #### 자동 토큰 갱신 diff --git a/build.gradle b/build.gradle index 89a2fb2..247d5b1 100644 --- a/build.gradle +++ b/build.gradle @@ -62,7 +62,7 @@ dependencies { testImplementation 'org.springframework.boot:spring-boot-starter-test' testRuntimeOnly 'org.junit.platform:junit-platform-launcher' - // querydsl + // QueryDSL implementation 'io.github.openfeign.querydsl:querydsl-jpa:6.11' annotationProcessor 'io.github.openfeign.querydsl:querydsl-apt:6.11:jpa' annotationProcessor 'jakarta.annotation:jakarta.annotation-api' @@ -83,7 +83,8 @@ tasks.named('test') { useJUnitPlatform() } -// querydsl +// annotationProcessor(QueryDSL, MapStruct) +// * Annotation Processing 설정이 필요한경우 "build/generated/sources/annotationProcessor/java/main" 경로 등록 def generatedSrcDir = layout.buildDirectory.dir("generated/sources/annotationProcessor/java/main").get().asFile clean {