Skip to content

Commit f917b39

Browse files
committed
refactor: 슬랙/디스코드 공통 예외로 변경
1 parent 81c3e34 commit f917b39

File tree

4 files changed

+17
-17
lines changed

4 files changed

+17
-17
lines changed

src/main/java/org/sopt/makers/global/exception/message/ErrorMessage.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ public enum ErrorMessage implements BaseErrorCode {
1313
WEBHOOK_URL_NOT_FOUND(404, "Webhook URL을 찾을 수 없습니다.", "W4041"),
1414

1515
// ===== Slack 및 일반 서비스 오류 =====
16-
INVALID_SLACK_PAYLOAD(400, "Slack 페이로드 형식이 잘못되었습니다.", "S4001"),
1716
SLACK_MESSAGE_BUILD_FAILED(500, "Slack 메시지 생성에 실패했습니다.", "S5001"),
1817
SLACK_SEND_INTERRUPTED(500, "Slack 알림 전송이 중단되었습니다.", "S5002"),
1918
SLACK_SERIALIZATION_FAILED(500, "Slack 메시지를 JSON으로 변환하는 중 오류가 발생했습니다.", "S5003"),
@@ -30,6 +29,7 @@ public enum ErrorMessage implements BaseErrorCode {
3029

3130
// ===== 공통 오류 =====
3231
UNSUPPORTED_SERVICE_TYPE(400, "지원하지 않는 서비스 유형입니다.", "C4001"),
32+
INVALID_PAYLOAD(400, "페이로드 형식이 잘못되었습니다.", "C4002"),
3333
UNEXPECTED_SERVER_ERROR(500, "내부 서버 오류가 발생했습니다.", "C5001");
3434

3535
private final int status;
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package org.sopt.makers.global.exception.unchecked;
2+
3+
import org.sopt.makers.global.exception.base.BaseErrorCode;
4+
5+
public class InvalidPayloadException extends SentryUncheckedException {
6+
public InvalidPayloadException(BaseErrorCode errorCode) {
7+
super(errorCode);
8+
}
9+
10+
public static InvalidPayloadException from(BaseErrorCode errorCode) {
11+
return new InvalidPayloadException(errorCode);
12+
}
13+
}

src/main/java/org/sopt/makers/global/exception/unchecked/InvalidSlackPayloadException.java

Lines changed: 0 additions & 13 deletions
This file was deleted.

src/main/java/org/sopt/makers/service/SentryEventExtractorService.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import org.sopt.makers.dto.SentryEventDetail;
44
import org.sopt.makers.global.exception.message.ErrorMessage;
5-
import org.sopt.makers.global.exception.unchecked.InvalidSlackPayloadException;
5+
import org.sopt.makers.global.exception.unchecked.InvalidPayloadException;
66

77
import com.fasterxml.jackson.databind.JsonNode;
88
import com.fasterxml.jackson.databind.ObjectMapper;
@@ -24,7 +24,7 @@ public SentryEventDetail extractEvent(String requestBody) {
2424

2525
if (eventNode.isMissingNode() || eventNode.isEmpty()) {
2626
log.error("[이벤트 데이터 누락] 요청 본문에 필수 이벤트 정보가 없습니다");
27-
throw InvalidSlackPayloadException.from(ErrorMessage.INVALID_SLACK_PAYLOAD);
27+
throw InvalidPayloadException.from(ErrorMessage.INVALID_PAYLOAD);
2828
}
2929

3030
SentryEventDetail sentryEvent = SentryEventDetail.from(eventNode);
@@ -38,7 +38,7 @@ private JsonNode parseRequestBody(String requestBody) {
3838
return objectMapper.readTree(requestBody);
3939
} catch (Exception e) {
4040
log.error("[요청 본문 파싱 실패] error={}", e.getMessage(), e);
41-
throw InvalidSlackPayloadException.from(ErrorMessage.INVALID_SLACK_PAYLOAD);
41+
throw InvalidPayloadException.from(ErrorMessage.INVALID_PAYLOAD);
4242
}
4343
}
4444
}

0 commit comments

Comments
 (0)