Enum 타입의 활용

dgh03207·2022년 4월 4일
0

Springboot 프로젝트

목록 보기
3/5

프로젝트 API를 만드는 데에 Enum타입을 두가지 용도로 사용하였다.

  • 직종(Entity)
  • 설문요약(Dto)?

직종

직종을 Enum타입으로 설정한 이유

간단히 말하자면 영문 값한글 값을 매칭시키기 위해서다.

DB에는 JetBrain의 데이터 값인 영문으로 된 직종을 넣어야 했고,

API요청할때는 한글로된 값을 주어야 했다.

DB를 그렇다고 따로 파기에는 너무 비효율적이었고, 그냥 Enum타입으로 선언하여 사용하면 될 것 같아서 그렇게 진행하였다.

코드

빈값이 있는 이유는 기획의 부족으로.. 아직 어떤 단어를 넣을지 결정하지 않았기 때문에 비워뒀다...
(마음을 비우고 보다보면 어느새인가 값이 채워질것....흠...)

@Getter
@RequiredArgsConstructor
public enum Occupation {
    Websites("WebDeveloper","웹개발자"),
    Database("DBDeveloper","DB개발자"),
    ItInfrastructure("",""),
    DataScientist("","데이터사이언티스트"),
    Finance("","금융개발자?"),
    Game("","게임개발자"),
    Entertainment("",""),
    SystemSoftware("","");

    private final String occupation;
    private final String jobName;
}

설문

설문 요약본을 Enum으로 설정한 이유

우선 설문 그룹은 설문 내용들을 요약한 ‘어떤 값’을 담아야한다.
description : 설문 그룹의 메인 요약본

summaryInfos : 설문 그룹의 기타 요약본 (데이터 크기가 3으로 고정되어있음)

이 값은 회의를 거쳐서 DB에 넣지 말고, API 요청할때 그냥 직접 넣어주자고 얘기가 나왔다. 처음에는 Service에서 그냥 String으로 직접 넣어주려고 했다. 그런데, Enum으로 만들면 String들을 붙이고 자르고 하는것보다 훨씬 보기 편하고 코드도 간결해질 것 같아서 그렇게하기로 하였다.

profile
같이 공부하자!

0개의 댓글