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);