From 4047e823d062fe369b343af79225b84c94f9d538 Mon Sep 17 00:00:00 2001 From: sukangpunch Date: Wed, 1 Apr 2026 17:31:29 +0900 Subject: [PATCH 1/2] =?UTF-8?q?refactor:=20EnumUtils=20=EC=A0=9C=EA=B1=B0?= =?UTF-8?q?=20=ED=9B=84=20PostCategory=EC=97=90=20=EC=A7=81=EC=A0=91=20?= =?UTF-8?q?=EA=B2=80=EC=A6=9D=20=EB=A9=94=EC=84=9C=EB=93=9C=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../community/post/domain/PostCategory.java | 14 +++++++++++++- .../community/post/service/PostCommandService.java | 3 +-- .../community/post/service/PostQueryService.java | 3 +-- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/example/solidconnection/community/post/domain/PostCategory.java b/src/main/java/com/example/solidconnection/community/post/domain/PostCategory.java index 3f8819749..04d6c2eb5 100644 --- a/src/main/java/com/example/solidconnection/community/post/domain/PostCategory.java +++ b/src/main/java/com/example/solidconnection/community/post/domain/PostCategory.java @@ -1,5 +1,17 @@ package com.example.solidconnection.community.post.domain; +import java.util.Arrays; +import java.util.Set; +import java.util.stream.Collectors; + public enum PostCategory { - 전체, 자유, 질문 + 전체, 자유, 질문; + + private static final Set NAMES = Arrays.stream(values()) + .map(Enum::name) + .collect(Collectors.toSet()); + + public static boolean isValid(String name){ + return name != null && NAMES.contains(name); + } } diff --git a/src/main/java/com/example/solidconnection/community/post/service/PostCommandService.java b/src/main/java/com/example/solidconnection/community/post/service/PostCommandService.java index 46a40c8ae..5b2b9b058 100644 --- a/src/main/java/com/example/solidconnection/community/post/service/PostCommandService.java +++ b/src/main/java/com/example/solidconnection/community/post/service/PostCommandService.java @@ -27,7 +27,6 @@ import java.util.List; import java.util.Objects; import lombok.RequiredArgsConstructor; -import org.apache.commons.lang3.EnumUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; @@ -137,7 +136,7 @@ private void validateQuestion(Post post) { } private void validatePostCategory(String category) { - if (!EnumUtils.isValidEnum(PostCategory.class, category) || category.equals(PostCategory.전체.toString())) { + if (!PostCategory.isValid(category) || category.equals(PostCategory.전체.toString())) { throw new CustomException(INVALID_POST_CATEGORY); } } diff --git a/src/main/java/com/example/solidconnection/community/post/service/PostQueryService.java b/src/main/java/com/example/solidconnection/community/post/service/PostQueryService.java index 9beea5e8d..a67156e4d 100644 --- a/src/main/java/com/example/solidconnection/community/post/service/PostQueryService.java +++ b/src/main/java/com/example/solidconnection/community/post/service/PostQueryService.java @@ -27,7 +27,6 @@ import java.util.Objects; import java.util.stream.Collectors; import lombok.RequiredArgsConstructor; -import org.apache.commons.lang3.EnumUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -103,7 +102,7 @@ private Boolean getIsLiked(Post post, SiteUser siteUser) { } private PostCategory validatePostCategory(String category) { - if (!EnumUtils.isValidEnum(PostCategory.class, category)) { + if (!PostCategory.isValid(category)) { throw new CustomException(INVALID_POST_CATEGORY); } return PostCategory.valueOf(category); From 3f50a2a613e9ddc62b3789873e49b42a46c93cc4 Mon Sep 17 00:00:00 2001 From: sukangpunch Date: Sun, 5 Apr 2026 16:48:12 +0900 Subject: [PATCH 2/2] =?UTF-8?q?refactor:=20updatePost=EC=97=90=EC=84=9C=20?= =?UTF-8?q?=EC=9D=BC=EA=B4=80=EB=90=9C=20category=20=EC=98=88=EC=99=B8?= =?UTF-8?q?=EC=B2=98=EB=A6=AC=EB=A1=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../community/post/service/PostCommandService.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/example/solidconnection/community/post/service/PostCommandService.java b/src/main/java/com/example/solidconnection/community/post/service/PostCommandService.java index 5b2b9b058..fee1639b9 100644 --- a/src/main/java/com/example/solidconnection/community/post/service/PostCommandService.java +++ b/src/main/java/com/example/solidconnection/community/post/service/PostCommandService.java @@ -74,6 +74,7 @@ public PostUpdateResponse updatePost(long siteUserId, Long postId, PostUpdateReq .orElseThrow(() -> new CustomException(USER_NOT_FOUND)); // 유효성 검증 Post post = postRepository.getById(postId); + validatePostCategory(postUpdateRequest.postCategory()); validateOwnership(post, siteUser); validateQuestion(post); validateFileSize(imageFile);