Skip to content

Commit 6dd1a86

Browse files
committed
refactor: 감정일기 저장 #112
- 중복요청(따닥) 방지 기능을 원래 API하고 통합
1 parent fbfb6c9 commit 6dd1a86

File tree

2 files changed

+5
-14
lines changed

2 files changed

+5
-14
lines changed

default/src/main/java/org/dfbf/soundlink/domain/emotionRecord/controller/EmotionRecordController.java

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -25,18 +25,7 @@ public class EmotionRecordController {
2525
@PostMapping
2626
@Operation(
2727
summary = "감정 기록 작성/저장 API",
28-
description = "작성한 감정 기록을 저장합니다."
29-
)
30-
public ResponseResult saveEmotionWithMusic(
31-
@AuthenticationPrincipal Long userId,
32-
@Valid @RequestBody EmotionRecordRequestDTO request) {
33-
return emotionRecordService.saveEmotionRecordWithMusic(userId, request);
34-
}
35-
36-
@PostMapping("/v2")
37-
@Operation(
38-
summary = "감정 기록 작성/저장 API",
39-
description = "작성한 감정 기록을 저장 & Idempotency Key를 사용하여 중복 요청을 방지."
28+
description = "작성한 감정 기록을 저장 & Idempotency Key를 사용하여 중복 요청을 방지"
4029
)
4130
public ResponseResult saveEmotionWithMusicAndIdempotency(
4231
@RequestHeader(name = "Idempotency-Key") String idempotencyKey,

default/src/main/java/org/dfbf/soundlink/domain/emotionRecord/service/EmotionRecordService.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,13 +105,15 @@ public ResponseResult saveEmotionRecordWithMusic(Long userId, EmotionRecordReque
105105
// 중복 요청 방지 기능 추가 (멱등성 보장)
106106
@Transactional
107107
public ResponseResult saveEmotionRecordWithMusicAndIdempotent(String idempotencyKey, Long userId, EmotionRecordRequestDTO request) {
108-
if (!redisTemplate.keys("EmotionRecord:" + idempotencyKey).isEmpty()) {
108+
if (idempotencyKey != null && !redisTemplate.keys("EmotionRecord:" + idempotencyKey).isEmpty()) {
109109
ObjectMapper mapper = new ObjectMapper();
110110
return mapper.convertValue(redisTemplate.opsForValue().get("EmotionRecord:" + idempotencyKey), ResponseResult.class);
111111
}
112112

113113
ResponseResult responseResult = saveEmotionRecordWithMusic(userId, request);
114-
redisTemplate.opsForValue().set("EmotionRecord:" + idempotencyKey, responseResult, 10, TimeUnit.SECONDS);
114+
if (idempotencyKey != null) {
115+
redisTemplate.opsForValue().set("EmotionRecord:" + idempotencyKey, responseResult, 10, TimeUnit.SECONDS);
116+
}
115117

116118
return responseResult;
117119
}

0 commit comments

Comments
 (0)