Skip to content

Commit

Permalink
feat: HTTP 상태 코드 변경 및 예외 처리 추가
Browse files Browse the repository at this point in the history
  • Loading branch information
sooyoungh committed Mar 1, 2024
1 parent 8c6a9bc commit a42f399
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 16 deletions.
4 changes: 2 additions & 2 deletions src/main/java/com/hyundai/app/event/enumType/EventType.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
import java.util.List;
import java.util.Random;

import static com.hyundai.app.exception.ErrorCode.EVENT_TYPE_NOT_EXIST;
import static com.hyundai.app.exception.ErrorCode.EVENT_TYPE_INVALID;

/**
* @author 엄상은
Expand Down Expand Up @@ -50,7 +50,7 @@ public static EventType of(String eventType) {
.filter(e -> e.equals(eventEnum))
.findFirst()
.map(EventType::getRandomEventType)
.orElseThrow(() -> new AdventureOfHeendyException(EVENT_TYPE_NOT_EXIST));
.orElseThrow(() -> new AdventureOfHeendyException(EVENT_TYPE_INVALID));

}
}
20 changes: 7 additions & 13 deletions src/main/java/com/hyundai/app/exception/ErrorCode.java
Original file line number Diff line number Diff line change
Expand Up @@ -26,23 +26,17 @@ public enum ErrorCode {
// 인증 및 인가
UNAUTHORIZED_ACCESS(UNAUTHORIZED, "인증되지 않은 사용자입니다."),
FORBIDDEN_ACCESS(FORBIDDEN, "인가되지 않은 접근입니다."),

// 리뷰
REVIEW_SCORE_INVALID(BAD_REQUEST, "별점은 1~5점까지의 정수이어야 합니다."),
REVIEW_CONTENT_INVALID(BAD_REQUEST, "리뷰 내용은 최소 5자 이상이어야합니다."),

// 아이디값
STORE_ID_INVALID(BAD_REQUEST, "해당하는 매장 id가 없습니다."),
HASHTAG_ID_INVALID(BAD_REQUEST, "해당하는 해시태그 id가 없습니다."),
MEMBER_ID_INVALID(BAD_REQUEST, "해당하는 회원 id가 없습니다."),
MEMBER_NOT_EXIST(BAD_REQUEST, "해당하는 회원 oauth id가 존재하지 않습니다."),
MEMBER_NOT_EXIST(NOT_FOUND, "해당하는 회원 oauth id가 존재하지 않습니다."),

// 이벤트
EVENT_NOT_EXIST(BAD_REQUEST, "해당하는 이벤트가 존재하지 않습니다."),
EVENT_TYPE_NOT_EXIST(BAD_REQUEST, "이벤트 타입은 RESTAURANT, CAFE, SHOPPING, RANDOM 중 하나이어야 합니다."),
EVENT_NOT_EXIST(NOT_FOUND, "해당하는 이벤트가 존재하지 않습니다."),
EVENT_TYPE_INVALID(BAD_REQUEST, "이벤트 타입은 RESTAURANT, CAFE, SHOPPING, RANDOM 중 하나이어야 합니다."),

// 매장
STORE_NOT_EXIST(BAD_REQUEST, "해당하는 매장 id가 존재하지 않습니다."),
STORE_NOT_EXIST(NOT_FOUND, "해당하는 매장 id가 존재하지 않습니다."),
REVIEW_SCORE_INVALID(BAD_REQUEST, "별점은 1~5점까지의 정수이어야 합니다."),
REVIEW_CONTENT_INVALID(BAD_REQUEST, "리뷰 내용은 최소 5자 이상이어야합니다."),
HASHTAG_NOT_EXIST(NOT_FOUND, "해당하는 해시태그 id가 없습니다."),

// 500 에러
SERVER_UNAVAILABLE(SERVICE_UNAVAILABLE, "서버에 오류가 발생하였습니다."),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,9 @@ public void createReview(int storeId, String memberId, ReviewReqDto reviewReqDto
*/
private double calcAvgScore(int storeId, int newScore) {
Store store = storeMapper.getStoreDetail(storeId);
if (store == null) {
throw new AdventureOfHeendyException(STORE_NOT_EXIST);
}
int reviewCount = store.getReviewCount();
float avgScore = store.getAvgScore();
log.debug("별점 업데이트 => reviewCount : " + reviewCount + ", avgScore : " + avgScore);
Expand Down Expand Up @@ -150,7 +153,7 @@ private void handleStoreHashtag(int storeId, int hashtagId) {
private void validateIfHashtagIdExist(int hashtagId) {
if (hashtagMapper.getHashtag(hashtagId) == null) {
log.error("해시태그 id: " + hashtagId + "가 존재하지 않습니다.");
throw new AdventureOfHeendyException(HASHTAG_ID_INVALID);
throw new AdventureOfHeendyException(HASHTAG_NOT_EXIST);
}
}
}

0 comments on commit a42f399

Please sign in to comment.