Chef.Yeon
Code Cook
Chef.Yeon
전체 방문자
오늘
어제
  • 분류 전체보기 (230)
    • 게임 개발 (1)
      • Unity (1)
    • Android (27)
      • Kotlin (19)
      • 우아한테크코스 5기 (4)
    • Language (11)
      • 파이썬 (3)
      • Java (7)
    • DB (2)
      • SQL (16)
    • Spring (25)
    • 코딩테스트 (56)
    • Git (1)
    • TIL (85)
    • DevOps (6)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 프로그래머스
  • java
  • 내림차순
  • 코딩테스트
  • 레포지토리
  • Docker
  • 프리코스
  • 파이썬
  • ec2
  • SQL
  • 에라토스테네스의 체
  • MariaDB
  • kotlin
  • 안드로이드
  • Android
  • Wil
  • rsocket
  • 코틀린 인 액션
  • til
  • 우아한테크코스
  • 다이나믹 프로그래밍
  • 백준
  • elasticsearch
  • webflux
  • enum
  • spring
  • grafana
  • 문자열
  • 코틀린
  • kibana

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Chef.Yeon

Code Cook

[TIL - 20230515] @ReqeustParam enum 타입 받기
TIL

[TIL - 20230515] @ReqeustParam enum 타입 받기

2023. 5. 15. 18:37

 

💻문제점

@ReuqestParam으로 enum 타입을 받아야 했는데, 알아서 변환되지 않기 때문에 String으로 받고, enum 타입으로 변환해주어야 했다. 


📃시도

Category Enum 클래스에 ofName() 메서드라는, categoryStr 문자열이 categoryName과 같은 Category를 반환하도록 했다.

하지만 String으로 값을 받고 ofName() 메서드를 통해 변환시켜주자니 받아야 하는 Enum 타입의 데이터가 많은 경우에는 가독성이 떨어질 것이라고 생각했다, 그래서 나는 @RequestParam을 받을 때 부터 Category 타입으로 변환하는 것을 찾아보았다.

@Getter
public enum Category {
    FashionStuff("FashionStuff"),
    HomeLiving("HomeLiving"),
    TechEletrics("TechEletrics"),
    Beauty("Beauty"),
    Food("Food"),
    LeisureSports("LeisureSports");

    private String categoryName;

    Category(String category) {
        this.categoryName = category;
    }

    public static Category ofName(String categoryStr) {
        for (Category category : Category.values()) {
            if (category.getCategoryName().equals(categoryStr))
                return category;
        }
        throw new IllegalArgumentException("일치하는 카테고리가 없습니다.");
    }
}

🔍해결

String 문자열을 Enum 타입으로 변환시켜주는 CustomConverter를 생성하면 된다.

해결 방법은 다음 게시글에 작성했다.

https://yeon-dev.tistory.com/190

 

[Spring] @RequestParam으로 Enum 타입 매개변수 받기

@RequestParam으로 입력받은 String 문자열을 enum 타입으로 바꿔 사용할 수도 있지만, 매번 String 문자열을 enum 타입으로 바꾸지 않고, CustomConverter를 만들어 문자열을 enum 타입으로 변환할 수 있다. Categ

yeon-dev.tistory.com

 

728x90

'TIL' 카테고리의 다른 글

[TIL - 20230522] 로컬에서 OBS 실시간 스트리밍  (0) 2023.05.23
[TIL - 20230515] 게시글 제목과 태그에 검색어를 포함하는 게시글 조회  (0) 2023.05.16
[TIL - 20230513] 게시글 수정(썸네일 변경 포함)을 위한 MutipartFile과 Dto 함께 받기  (0) 2023.05.14
[TIL - 20230510] Service 유효성 검사 메서드 분리  (0) 2023.05.11
[TIL - 20230506] 회원/비회원 전체 게시글 조회 처리  (0) 2023.05.06
    'TIL' 카테고리의 다른 글
    • [TIL - 20230522] 로컬에서 OBS 실시간 스트리밍
    • [TIL - 20230515] 게시글 제목과 태그에 검색어를 포함하는 게시글 조회
    • [TIL - 20230513] 게시글 수정(썸네일 변경 포함)을 위한 MutipartFile과 Dto 함께 받기
    • [TIL - 20230510] Service 유효성 검사 메서드 분리
    Chef.Yeon
    Chef.Yeon
    보기 좋고 깔끔한 코드를 요리하기 위해 노력하고 있습니다.

    티스토리툴바