From 315d31fe9a38a0c168334c912e8adf81811427be Mon Sep 17 00:00:00 2001 From: oculo0204 <96184457+oculo0204@users.noreply.github.com> Date: Sun, 18 May 2025 03:05:46 +0900 Subject: [PATCH 1/2] fix: rate --- .../domain/rate/rateService/RateService.java | 11 ++++++++--- .../rateService => resources}/rateJson/rate-date.json | 0 2 files changed, 8 insertions(+), 3 deletions(-) rename hackathon/src/main/{java/nerdinary/hackathon/domain/rate/rateService => resources}/rateJson/rate-date.json (100%) diff --git a/hackathon/src/main/java/nerdinary/hackathon/domain/rate/rateService/RateService.java b/hackathon/src/main/java/nerdinary/hackathon/domain/rate/rateService/RateService.java index 6e5ca6d..d849e2e 100644 --- a/hackathon/src/main/java/nerdinary/hackathon/domain/rate/rateService/RateService.java +++ b/hackathon/src/main/java/nerdinary/hackathon/domain/rate/rateService/RateService.java @@ -11,11 +11,14 @@ import nerdinary.hackathon.domain.login.service.UserException; import nerdinary.hackathon.domain.user.User; import nerdinary.hackathon.domain.user.UserRepository; +import org.springframework.core.io.ClassPathResource; import org.springframework.stereotype.Component; import java.io.File; +import java.io.InputStream; import java.time.LocalDate; import java.util.List; import java.util.Map; +import org.springframework.core.io.Resource; @Component @RequiredArgsConstructor @@ -32,16 +35,18 @@ public class RateService { public void init() { try { ObjectMapper mapper = new ObjectMapper(); - File file = new File("./rateJson/rate-date.json"); // 현재 작업 디렉토리 기준 - rateDataList = mapper.readValue(file, new TypeReference<>() {}); + // ClassPathResource를 사용해서 resources 폴더 내부 파일 읽기 + Resource resource = new ClassPathResource("rateJson/rate-date.json"); + InputStream inputStream = resource.getInputStream(); + + rateDataList = mapper.readValue(inputStream, new TypeReference<>() {}); System.out.println("rate-data.json 로드 완료!"); } catch (Exception e) { throw new RuntimeException("rate-data.json 파일 로드 실패", e); } } - public RateResponse calculateUserRate(Long userId) { User user = userRepository.findById(userId) .orElseThrow(() -> new UserException(USER_NOT_FOUND)); diff --git a/hackathon/src/main/java/nerdinary/hackathon/domain/rate/rateService/rateJson/rate-date.json b/hackathon/src/main/resources/rateJson/rate-date.json similarity index 100% rename from hackathon/src/main/java/nerdinary/hackathon/domain/rate/rateService/rateJson/rate-date.json rename to hackathon/src/main/resources/rateJson/rate-date.json From ff18a5cfd71f9cac3b7d308fe9f9da43b381bfc1 Mon Sep 17 00:00:00 2001 From: oculo0204 <96184457+oculo0204@users.noreply.github.com> Date: Sun, 18 May 2025 03:14:40 +0900 Subject: [PATCH 2/2] fix: swagger --- .../hackathon/domain/rate/controller/RateController.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/hackathon/src/main/java/nerdinary/hackathon/domain/rate/controller/RateController.java b/hackathon/src/main/java/nerdinary/hackathon/domain/rate/controller/RateController.java index e3e60cb..88ae42c 100644 --- a/hackathon/src/main/java/nerdinary/hackathon/domain/rate/controller/RateController.java +++ b/hackathon/src/main/java/nerdinary/hackathon/domain/rate/controller/RateController.java @@ -1,6 +1,7 @@ package nerdinary.hackathon.domain.rate.controller; import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.responses.ApiResponse; import io.swagger.v3.oas.annotations.responses.ApiResponses; import io.swagger.v3.oas.annotations.tags.Tag; @@ -22,7 +23,7 @@ public class RateController { private final RateService rateService; @Operation( - summary = "냉장고 소비율 및 BTI 분석 결과 조회", + summary = "MBTI 분석 결과 조회", description = "사용자의 냉장고 소비율, 유통기한 임박 식품 개수, 레벨, BTI 정보 등을 조회합니다." ) @ApiResponses(value = { @@ -31,7 +32,9 @@ public class RateController { @ApiResponse(responseCode = "500", description = "서버 오류") }) @GetMapping("/rate") - public ResponseEntity getRate(@JwtValidation Long userId) { + public ResponseEntity getRate( + @Parameter(hidden = true) + @JwtValidation Long userId) { RateResponse response = rateService.calculateUserRate(userId); return ResponseEntity.ok(response); }