From 299431012a844240bb2b9242c5084692462098d3 Mon Sep 17 00:00:00 2001 From: yunseongoh Date: Sun, 2 Nov 2025 23:21:01 +0900 Subject: [PATCH 1/3] =?UTF-8?q?refactor=20:=20=EB=A9=94=EC=84=B8=EC=A7=80u?= =?UTF-8?q?x=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/chooz/common/exception/ErrorCode.java | 114 +++++++++--------- 1 file changed, 57 insertions(+), 57 deletions(-) diff --git a/src/main/java/com/chooz/common/exception/ErrorCode.java b/src/main/java/com/chooz/common/exception/ErrorCode.java index 37ec126..ddae089 100644 --- a/src/main/java/com/chooz/common/exception/ErrorCode.java +++ b/src/main/java/com/chooz/common/exception/ErrorCode.java @@ -7,73 +7,73 @@ @RequiredArgsConstructor public enum ErrorCode { //400 - USER_NOT_FOUND("존재하지 않는 유저입니다."), - INVALID_ARGUMENT("잘못된 파라미터 요청입니다."), - REFRESH_TOKEN_MISMATCHED("리프레시 토큰이 불일치합니다."), - REFRESH_TOKEN_NOT_FOUND("리프레시 토큰을 찾을 수 없습니다."), - INVALID_REFRESH_TOKEN_HEADER("잘못된 리프레시 토큰 헤더입니다."), - MISSING_FILE_EXTENSION("확장자가 누락됐습니다."), - UNSUPPORTED_IMAGE_EXTENSION("지원하지 않는 확장자입니다."), - EXCEED_MAX_FILE_SIZE("파일 크기가 초과했습니다."), - POST_NOT_FOUND("존재하지 않는 게시글입니다."), - DESCRIPTION_LENGTH_EXCEEDED("게시글 설명 길이가 초과했습니다."), - TITLE_IS_REQUIRED("게시글 제목은 필수입니다."), - TITLE_LENGTH_EXCEEDED("게시글 제목 길이가 초과했습니다."), - INVALID_POLL_CHOICE_COUNT("투표 선택지 개수가 범위를 벗어났습니다."), - POLL_CHOICE_TITLE_LENGTH_EXCEEDED("투표 선택지 제목 길이가 초과했습니다."), - NOT_POST_AUTHOR("게시글 작성자가 아닙니다."), - POST_ALREADY_CLOSED("이미 마감된 게시글입니다."), - FILE_NAME_TOO_LONG("파일 이름이 너무 깁니다."), - ACCESS_DENIED_VOTE_STATUS("투표 현황 조회 권한이 없습니다."), - COMMENT_NOT_FOUND("존재하지 않는 댓글입니다."), - VOTE_NOT_FOUND("존재하지 않는 투표입니다."), - NOT_VOTER("투표자가 아닙니다."), - CLOSED_AT_REQUIRED("마감 시간 설정이 필요합니다."), - MAX_VOTER_COUNT_REQUIRED("최대 투표자 수 설정이 필요합니다."), - INVALID_VOTER_CLOSE_OPTION("잘못된 최대 투표자 마감 설정입니다."), - INVALID_DATE_CLOSE_OPTION("잘못된 마감 시간 설정입니다"), - INVALID_SELF_CLOSE_OPTION("잘못된 자체 마감 옵션입니다."), - INVALID_CLOSE_OPTION("잘못된 마감 옵션입니다."), - THUMBNAIL_NOT_FOUND("썸네일을 찾을 수 없습니다."), - CLOSE_DATE_OVER("마감 시간이 지났습니다."), - EXCEED_MAX_VOTER_COUNT("투표 참여자 수가 초과했습니다."), - CLOSE_COMMENT_ACTIVE("댓글 기능이 비활성화 되어 있습니다."), - COMMENT_NOT_BELONG_TO_POST("게시글에 속한 댓글이 아닙니다."), - NOT_COMMENT_AUTHOR("댓글의 작성자가 아닙니다."), - COMMENT_LENGTH_OVER("댓글 길이가 200글자를 초과하였습니다."), - COMMENT_LIKE_NOT_FOUND("댓글좋아요를 찾을 수 없습니다."), - NOT_COMMENT_LIKE_AUTHOR("댓글 좋아요를 누른 유저가 아닙니다."), - SINGLE_POLL_ALLOWS_MAXIMUM_ONE_CHOICE("단일 투표인 경우 최대 하나의 선택지만 투표 가능"), - DUPLICATE_POLL_CHOICE("복수 투표의 경우 중복된 선택지가 있으면 안 됨"), - NOT_POST_POLL_CHOICE_ID("게시글의 투표 선택지가 아님"), - ONLY_SELF_CAN_CLOSE("작성자 마감의 경우, SELF 마감 방식만이 마감 가능합니다."), - INVALID_ONBOARDING_STEP("유효하지 않은 온보딩 단계."), - NICKNAME_LENGTH_EXCEEDED("닉네임 길이 초과"), - NOTIFICATION_NOT_FOUND("존재하지 않는 알림 입니다."), - POST_NOT_REVEALABLE("공개 불가능한 게시글입니다."), + USER_NOT_FOUND("회원정보를 찾을 수 없어요."), + INVALID_ARGUMENT("요청이 잘못되었어요. 다시 시도해주세요."), + REFRESH_TOKEN_MISMATCHED("로그인 정보가 만료됐어요. 다시 로그인 해주세요."), + REFRESH_TOKEN_NOT_FOUND("로그인 세션이 만료됐어요. 다시 로그인 해주세요."), + INVALID_REFRESH_TOKEN_HEADER("로그인 정보가 올바르지 않아요. 다시 로그인 해주세요."), + MISSING_FILE_EXTENSION("업로드 파일 형식을 확인해주세요."), + UNSUPPORTED_IMAGE_EXTENSION("업로드할 수 있는 확장자가 아니에요."), + EXCEED_MAX_FILE_SIZE("파일 용량이 너무 커요."), + POST_NOT_FOUND("게시글을 찾을 수 없어요."), + DESCRIPTION_LENGTH_EXCEEDED("설명은 100자 이내로 입력해주세요."), + TITLE_IS_REQUIRED("제목을 입력해주세요."), + TITLE_LENGTH_EXCEEDED("제목은 50자 이내로 입력해주세요."), + INVALID_POLL_CHOICE_COUNT("선택지는 최소 2개, 최대 10개까지 등록할 수 있어요."), + POLL_CHOICE_TITLE_LENGTH_EXCEEDED("선택지 이름은 10자 이내로 입력해주세요."), + NOT_POST_AUTHOR("본인이 작성한 게시글만 수정하거나 삭제할 수 있어요."), + POST_ALREADY_CLOSED("이미 마감된 투표예요. 결과를 확인해보세요."), + FILE_NAME_TOO_LONG("파일 이름이 너무 길어요. 짧게 수정해주세요."), + ACCESS_DENIED_VOTE_STATUS("아직 투표 현황을 조회할 수 없어요."), + COMMENT_NOT_FOUND("댓글을 찾을 수 없어요."), + VOTE_NOT_FOUND("투표를 찾을 수 없어요."), + NOT_VOTER("투표에 참여하지 않았어요."), + CLOSED_AT_REQUIRED("마감 시간을 설정해주세요."), + MAX_VOTER_COUNT_REQUIRED("참여 인원 제한을 설정해주세요."), + INVALID_VOTER_CLOSE_OPTION("투표자 수 마감 설정이 올바르지 않아요."), + INVALID_DATE_CLOSE_OPTION("마감시간이 올바르지 않아요. 다시 선택해주세요."), + INVALID_SELF_CLOSE_OPTION("마감 옵션이 잘못됐어요. 다시 선택해주세요."), + INVALID_CLOSE_OPTION("마감방식이 올바르지 않아요."), + THUMBNAIL_NOT_FOUND("미리보기 이미지를 불러올 수 없어요."), + CLOSE_DATE_OVER("이미 마감된 투표에요."), + EXCEED_MAX_VOTER_COUNT("이미 투표인원이 가득 찼어요."), + CLOSE_COMMENT_ACTIVE("현재 댓글 기능이 꺼져있어요."), + COMMENT_NOT_BELONG_TO_POST("댓글 정보가 올바르지 않아요."), + NOT_COMMENT_AUTHOR("본인이 작성한 댓글만 수정할 수 있어요."), + COMMENT_LENGTH_OVER("댓글은 200자 이내로 작성해주세요."), + COMMENT_LIKE_NOT_FOUND("좋아요 정보를 찾을 수 없어요."), + NOT_COMMENT_LIKE_AUTHOR("본인이 누른 좋아요만 취소할 수 있어요."), + SINGLE_POLL_ALLOWS_MAXIMUM_ONE_CHOICE("단일 투표는 한가지 선택지만 가능해요."), + DUPLICATE_POLL_CHOICE("같은 선택지는 중복으로 투표할 수 없어요."), + NOT_POST_POLL_CHOICE_ID("올바르지 않은 투표항목이에요."), + ONLY_SELF_CAN_CLOSE("직접 마감은 작성자만 할 수 있어요."), + INVALID_ONBOARDING_STEP("잘못된 온보딩 단계로 이동했어요."), + NICKNAME_LENGTH_EXCEEDED("닉네임은 15자 이내로 입력해주세요."), + NOTIFICATION_NOT_FOUND("알림을 찾을 수 없어요."), + POST_NOT_REVEALABLE("이 게시글은 특정 사용자에게만 공개돼 있어요."), //401 - EXPIRED_TOKEN("토큰이 만료됐습니다."), - INVALID_TOKEN("유효하지 않은 토큰입니다."), - INVALID_AUTH_HEADER("잘못된 인증 헤더입니다."), + EXPIRED_TOKEN("로그인 세션이 만료됐어요. 다시 로그인 해주세요."), + INVALID_TOKEN("로그인 정보가 유효하지 않아요. 다시 로그인 해주세요."), + INVALID_AUTH_HEADER("로그인 정보가 손상됐어요. 다시 로그인 해주세요."), //403 - FORBIDDEN("권한 없음"), + FORBIDDEN("접근 권한이 없어요. 로그인 후 다시 시도해주세요."), //404 - NOT_FOUND("리소스를 찾을 수 없음"), + NOT_FOUND("페이지를 찾을 수 없어요. 주소를 다시 확인 해주세요."), //500 - INTERNAL_SERVER_ERROR("서버 내부 오류 발생"), - INVALID_INPUT_VALUE("잘못된 입력 값입니다."), - SOCIAL_AUTHENTICATION_FAILED("소셜 로그인이 실패했습니다."), - POLL_CHOICE_NAME_GENERATOR_INDEX_OUT_OF_BOUND("이미지 이름 생성기 인덱스 초과"), - IMAGE_FILE_NOT_FOUND("존재하지 않는 이미지입니다."), - POLL_CHOICE_NOT_FOUND("투표 선택지가 없습니다."), - SHARE_URL_ALREADY_EXISTS("공유 URL이 이미 존재합니다."), + INTERNAL_SERVER_ERROR("잠시 문제가 발생했어요. 잠시 후 다시 시도해주세요."), + INVALID_INPUT_VALUE("입력 값을 다시 확인해주세요."), + SOCIAL_AUTHENTICATION_FAILED("소셜 로그인이 실패했어요."), + POLL_CHOICE_NAME_GENERATOR_INDEX_OUT_OF_BOUND("이미지 등록 중 오류가 발생했어요."), + IMAGE_FILE_NOT_FOUND("이미지를 찾을 수 없어요."), + POLL_CHOICE_NOT_FOUND("투표항목을 찾을 수 없어요."), + SHARE_URL_ALREADY_EXISTS("이미 공유된 링크예요."), //503 - SERVICE_UNAVAILABLE("서비스 이용 불가"), + SERVICE_UNAVAILABLE("잠시 점검 중이에요. 조금만 기다려주세요.🙏"), ; private final String message; From 8e9b31c5baf21454ea0669608553491c7f1ff18f Mon Sep 17 00:00:00 2001 From: yunseongoh Date: Mon, 3 Nov 2025 21:40:55 +0900 Subject: [PATCH 2/3] =?UTF-8?q?refactor=20:=20=EC=97=90=EB=9F=AC=20?= =?UTF-8?q?=EB=A9=94=EC=84=B8=EC=A7=80=20=EC=9D=91=EB=8B=B5=20=ED=98=95?= =?UTF-8?q?=EC=8B=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/chooz/common/exception/ErrorCode.java | 115 +++++++++--------- .../chooz/common/exception/ErrorResponse.java | 4 +- 2 files changed, 60 insertions(+), 59 deletions(-) diff --git a/src/main/java/com/chooz/common/exception/ErrorCode.java b/src/main/java/com/chooz/common/exception/ErrorCode.java index ddae089..9394a44 100644 --- a/src/main/java/com/chooz/common/exception/ErrorCode.java +++ b/src/main/java/com/chooz/common/exception/ErrorCode.java @@ -7,74 +7,75 @@ @RequiredArgsConstructor public enum ErrorCode { //400 - USER_NOT_FOUND("회원정보를 찾을 수 없어요."), - INVALID_ARGUMENT("요청이 잘못되었어요. 다시 시도해주세요."), - REFRESH_TOKEN_MISMATCHED("로그인 정보가 만료됐어요. 다시 로그인 해주세요."), - REFRESH_TOKEN_NOT_FOUND("로그인 세션이 만료됐어요. 다시 로그인 해주세요."), - INVALID_REFRESH_TOKEN_HEADER("로그인 정보가 올바르지 않아요. 다시 로그인 해주세요."), - MISSING_FILE_EXTENSION("업로드 파일 형식을 확인해주세요."), - UNSUPPORTED_IMAGE_EXTENSION("업로드할 수 있는 확장자가 아니에요."), - EXCEED_MAX_FILE_SIZE("파일 용량이 너무 커요."), - POST_NOT_FOUND("게시글을 찾을 수 없어요."), - DESCRIPTION_LENGTH_EXCEEDED("설명은 100자 이내로 입력해주세요."), - TITLE_IS_REQUIRED("제목을 입력해주세요."), - TITLE_LENGTH_EXCEEDED("제목은 50자 이내로 입력해주세요."), - INVALID_POLL_CHOICE_COUNT("선택지는 최소 2개, 최대 10개까지 등록할 수 있어요."), - POLL_CHOICE_TITLE_LENGTH_EXCEEDED("선택지 이름은 10자 이내로 입력해주세요."), - NOT_POST_AUTHOR("본인이 작성한 게시글만 수정하거나 삭제할 수 있어요."), - POST_ALREADY_CLOSED("이미 마감된 투표예요. 결과를 확인해보세요."), - FILE_NAME_TOO_LONG("파일 이름이 너무 길어요. 짧게 수정해주세요."), - ACCESS_DENIED_VOTE_STATUS("아직 투표 현황을 조회할 수 없어요."), - COMMENT_NOT_FOUND("댓글을 찾을 수 없어요."), - VOTE_NOT_FOUND("투표를 찾을 수 없어요."), - NOT_VOTER("투표에 참여하지 않았어요."), - CLOSED_AT_REQUIRED("마감 시간을 설정해주세요."), - MAX_VOTER_COUNT_REQUIRED("참여 인원 제한을 설정해주세요."), - INVALID_VOTER_CLOSE_OPTION("투표자 수 마감 설정이 올바르지 않아요."), - INVALID_DATE_CLOSE_OPTION("마감시간이 올바르지 않아요. 다시 선택해주세요."), - INVALID_SELF_CLOSE_OPTION("마감 옵션이 잘못됐어요. 다시 선택해주세요."), - INVALID_CLOSE_OPTION("마감방식이 올바르지 않아요."), - THUMBNAIL_NOT_FOUND("미리보기 이미지를 불러올 수 없어요."), - CLOSE_DATE_OVER("이미 마감된 투표에요."), - EXCEED_MAX_VOTER_COUNT("이미 투표인원이 가득 찼어요."), - CLOSE_COMMENT_ACTIVE("현재 댓글 기능이 꺼져있어요."), - COMMENT_NOT_BELONG_TO_POST("댓글 정보가 올바르지 않아요."), - NOT_COMMENT_AUTHOR("본인이 작성한 댓글만 수정할 수 있어요."), - COMMENT_LENGTH_OVER("댓글은 200자 이내로 작성해주세요."), - COMMENT_LIKE_NOT_FOUND("좋아요 정보를 찾을 수 없어요."), - NOT_COMMENT_LIKE_AUTHOR("본인이 누른 좋아요만 취소할 수 있어요."), - SINGLE_POLL_ALLOWS_MAXIMUM_ONE_CHOICE("단일 투표는 한가지 선택지만 가능해요."), - DUPLICATE_POLL_CHOICE("같은 선택지는 중복으로 투표할 수 없어요."), - NOT_POST_POLL_CHOICE_ID("올바르지 않은 투표항목이에요."), - ONLY_SELF_CAN_CLOSE("직접 마감은 작성자만 할 수 있어요."), - INVALID_ONBOARDING_STEP("잘못된 온보딩 단계로 이동했어요."), - NICKNAME_LENGTH_EXCEEDED("닉네임은 15자 이내로 입력해주세요."), - NOTIFICATION_NOT_FOUND("알림을 찾을 수 없어요."), - POST_NOT_REVEALABLE("이 게시글은 특정 사용자에게만 공개돼 있어요."), + USER_NOT_FOUND("회원정보를 찾을 수 없어요.", null), + INVALID_ARGUMENT("요청이 잘못되었어요.", "다시 시도해주세요."), + REFRESH_TOKEN_MISMATCHED("로그인 정보가 만료됐어요.", "다시 로그인 해주세요."), + REFRESH_TOKEN_NOT_FOUND("로그인 세션이 만료됐어요.", "다시 로그인 해주세요."), + INVALID_REFRESH_TOKEN_HEADER("로그인 정보가 올바르지 않아요.", "다시 로그인 해주세요."), + MISSING_FILE_EXTENSION("업로드 파일 형식을 확인해주세요.", null), + UNSUPPORTED_IMAGE_EXTENSION("업로드할 수 있는 확장자가 아니에요.", null), + EXCEED_MAX_FILE_SIZE("파일 용량이 너무 커요.", null), + POST_NOT_FOUND("게시글을 찾을 수 없어요.", null), + DESCRIPTION_LENGTH_EXCEEDED("설명은 100자 이내로 입력해주세요.", null), + TITLE_IS_REQUIRED("제목을 입력해주세요.", null), + TITLE_LENGTH_EXCEEDED("제목은 50자 이내로 입력해주세요.", null), + INVALID_POLL_CHOICE_COUNT("선택지는 최소 2개, 최대 10개까지 등록할 수 있어요.", null), + POLL_CHOICE_TITLE_LENGTH_EXCEEDED("선택지 이름은 10자 이내로 입력해주세요.", null), + NOT_POST_AUTHOR("본인이 작성한 게시글만 수정하거나 삭제할 수 있어요.", null), + POST_ALREADY_CLOSED("이미 마감된 투표예요.", "결과를 확인해보세요."), + FILE_NAME_TOO_LONG("파일 이름이 너무 길어요.", "짧게 수정해주세요."), + ACCESS_DENIED_VOTE_STATUS("아직 투표 현황을 조회할 수 없어요.", null), + COMMENT_NOT_FOUND("댓글을 찾을 수 없어요.", null), + VOTE_NOT_FOUND("투표를 찾을 수 없어요.", null), + NOT_VOTER("투표에 참여하지 않았어요.", null), + CLOSED_AT_REQUIRED("마감 시간을 설정해주세요.", null), + MAX_VOTER_COUNT_REQUIRED("참여 인원 제한을 설정해주세요.", null), + INVALID_VOTER_CLOSE_OPTION("투표자 수 마감 설정이 올바르지 않아요.", null), + INVALID_DATE_CLOSE_OPTION("마감시간이 올바르지 않아요.", "다시 선택해주세요."), + INVALID_SELF_CLOSE_OPTION("마감 옵션이 잘못됐어요.", "다시 선택해주세요."), + INVALID_CLOSE_OPTION("마감방식이 올바르지 않아요.", null), + THUMBNAIL_NOT_FOUND("미리보기 이미지를 불러올 수 없어요.", null), + CLOSE_DATE_OVER("이미 마감된 투표에요.", null), + EXCEED_MAX_VOTER_COUNT("이미 투표인원이 가득 찼어요.", null), + CLOSE_COMMENT_ACTIVE("현재 댓글 기능이 꺼져있어요.", null), + COMMENT_NOT_BELONG_TO_POST("댓글 정보가 올바르지 않아요.", null), + NOT_COMMENT_AUTHOR("본인이 작성한 댓글만 수정할 수 있어요.", null), + COMMENT_LENGTH_OVER("댓글은 200자 이내로 작성해주세요.", null), + COMMENT_LIKE_NOT_FOUND("좋아요 정보를 찾을 수 없어요.", null), + NOT_COMMENT_LIKE_AUTHOR("본인이 누른 좋아요만 취소할 수 있어요.", null), + SINGLE_POLL_ALLOWS_MAXIMUM_ONE_CHOICE("단일 투표는 한가지 선택지만 가능해요.", null), + DUPLICATE_POLL_CHOICE("같은 선택지는 중복으로 투표할 수 없어요.", null), + NOT_POST_POLL_CHOICE_ID("올바르지 않은 투표항목이에요.", null), + ONLY_SELF_CAN_CLOSE("직접 마감은 작성자만 할 수 있어요.", null), + INVALID_ONBOARDING_STEP("잘못된 온보딩 단계로 이동했어요.", null), + NICKNAME_LENGTH_EXCEEDED("닉네임은 15자 이내로 입력해주세요.", null), + NOTIFICATION_NOT_FOUND("알림을 찾을 수 없어요.", null), + POST_NOT_REVEALABLE("이 게시글은 특정 사용자에게만 공개돼 있어요.", null), //401 - EXPIRED_TOKEN("로그인 세션이 만료됐어요. 다시 로그인 해주세요."), - INVALID_TOKEN("로그인 정보가 유효하지 않아요. 다시 로그인 해주세요."), - INVALID_AUTH_HEADER("로그인 정보가 손상됐어요. 다시 로그인 해주세요."), + EXPIRED_TOKEN("로그인 세션이 만료됐어요.", "다시 로그인 해주세요."), + INVALID_TOKEN("로그인 정보가 유효하지 않아요.", "다시 로그인 해주세요."), + INVALID_AUTH_HEADER("로그인 정보가 손상됐어요.", "다시 로그인 해주세요."), //403 - FORBIDDEN("접근 권한이 없어요. 로그인 후 다시 시도해주세요."), + FORBIDDEN("접근 권한이 없어요.", "로그인 후 다시 시도해주세요."), //404 - NOT_FOUND("페이지를 찾을 수 없어요. 주소를 다시 확인 해주세요."), + NOT_FOUND("페이지를 찾을 수 없어요.", "주소를 다시 확인 해주세요."), //500 - INTERNAL_SERVER_ERROR("잠시 문제가 발생했어요. 잠시 후 다시 시도해주세요."), - INVALID_INPUT_VALUE("입력 값을 다시 확인해주세요."), - SOCIAL_AUTHENTICATION_FAILED("소셜 로그인이 실패했어요."), - POLL_CHOICE_NAME_GENERATOR_INDEX_OUT_OF_BOUND("이미지 등록 중 오류가 발생했어요."), - IMAGE_FILE_NOT_FOUND("이미지를 찾을 수 없어요."), - POLL_CHOICE_NOT_FOUND("투표항목을 찾을 수 없어요."), - SHARE_URL_ALREADY_EXISTS("이미 공유된 링크예요."), + INTERNAL_SERVER_ERROR("잠시 문제가 발생했어요.", "잠시 후 다시 시도해주세요."), + INVALID_INPUT_VALUE("입력 값을 다시 확인해주세요.", null), + SOCIAL_AUTHENTICATION_FAILED("소셜 로그인이 실패했어요.", null), + POLL_CHOICE_NAME_GENERATOR_INDEX_OUT_OF_BOUND("이미지 등록 중 오류가 발생했어요.", null), + IMAGE_FILE_NOT_FOUND("이미지를 찾을 수 없어요.", null), + POLL_CHOICE_NOT_FOUND("투표항목을 찾을 수 없어요.", null), + SHARE_URL_ALREADY_EXISTS("이미 공유된 링크예요.", null), //503 - SERVICE_UNAVAILABLE("잠시 점검 중이에요. 조금만 기다려주세요.🙏"), + SERVICE_UNAVAILABLE("잠시 점검 중이에요.", "조금만 기다려주세요.🙏"), ; private final String message; + private final String subMessage; } diff --git a/src/main/java/com/chooz/common/exception/ErrorResponse.java b/src/main/java/com/chooz/common/exception/ErrorResponse.java index 5b52789..b6a8ed6 100644 --- a/src/main/java/com/chooz/common/exception/ErrorResponse.java +++ b/src/main/java/com/chooz/common/exception/ErrorResponse.java @@ -1,8 +1,8 @@ package com.chooz.common.exception; -public record ErrorResponse(ErrorCode errorCode, String message) { +public record ErrorResponse(ErrorCode errorCode, String message, String subMessage) { public static ErrorResponse of(ErrorCode errorCode) { - return new ErrorResponse(errorCode, errorCode.getMessage()); + return new ErrorResponse(errorCode, errorCode.getMessage(), errorCode.getSubMessage()); } } From c1930ced0b0fbfacbba82325180c6f9ec25a7319 Mon Sep 17 00:00:00 2001 From: yunseongoh Date: Mon, 3 Nov 2025 22:08:41 +0900 Subject: [PATCH 3/3] =?UTF-8?q?test=20:=20test=EC=BD=94=EB=93=9C=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/chooz/comment/application/CommentQueryServiceTest.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/test/java/com/chooz/comment/application/CommentQueryServiceTest.java b/src/test/java/com/chooz/comment/application/CommentQueryServiceTest.java index 6960b37..e4d5ce9 100644 --- a/src/test/java/com/chooz/comment/application/CommentQueryServiceTest.java +++ b/src/test/java/com/chooz/comment/application/CommentQueryServiceTest.java @@ -6,6 +6,7 @@ import com.chooz.commentLike.domain.CommentLike; import com.chooz.commentLike.domain.CommentLikeRepository; import com.chooz.common.exception.BadRequestException; +import com.chooz.common.exception.ErrorCode; import com.chooz.post.domain.CommentActive; import com.chooz.post.domain.PollOption; import com.chooz.post.domain.Post; @@ -133,7 +134,7 @@ void findCommentsCloseCommentActive() { // when & then assertThatThrownBy(() -> commentQueryService.findComments(post.getId(), user.getId(), null, 10)) .isInstanceOf(BadRequestException.class) - .hasMessageContaining("댓글 기능이 비활성화 되어 있습니다."); + .hasMessageContaining(ErrorCode.CLOSE_COMMENT_ACTIVE.getMessage()); }