1. 기존 코드
public enum CafeOptionType {
NOSMOKE, PARK, FOOD, PROJECTOR, WIFI
}
# dto 생성시 코드
cafeOptions = cafe.getCafeOptions().stream()
.map(i -> i.getCafeOptionType().toString())
.collect(Collectors.toList());
문제 상황
enum만 선언되어 있기 때문에 화면에 데이터를 전송할 경우 enum 값이 화면에 표시됨.
-> 옵션에 대한 설명이 부족하다고 판단
-> 조건문을 활용한 데이터 변환의 경우 optionType이 추가될 때마다 분기처리를 추가해줘야 한다는 문제 발생
2. 수정 코드
key, value 값으로 설정하여. getDisplayName()으로 설정해준 값을 화면에 보낼 수 있게 됨.
@Getter
@AllArgsConstructor
public enum CafeOptionType {
NOSMOKE("NOSMOKE", "금연"),
PARK("PARK", "주차가능"),
FOOD("FOOD", "외부음식 반입가능"),
PROJECTOR("PROJECTOR", "프로젝터"),
WIFI("WIFI", "WIFI");
private final String code;
private final String displayName;
}
# dto 생성시 코드
cafeOptions = cafe.getCafeOptions().stream()
.map(i -> i.getCafeOptionType().getDisplayName())
.collect(Collectors.toList());
3. 결과
'프로그래밍 > JPA Project - sparta' 카테고리의 다른 글
카페 리뷰 기능 구현 ( 등록, 조회, 삭제 ) (0) | 2022.07.15 |
---|---|
이미지 슬라이드 구현 문제 해결 (0) | 2022.07.13 |
카페 검색, 정렬 기능을 구현 - 전략패턴 사용 (0) | 2022.07.12 |
카페 이벤트 내역 달력에 표시 (pullcalender - 달력 api) (0) | 2022.07.11 |
카페 삭제 (0) | 2022.07.11 |