데이터 검증에 대해 사용한 if 조건문을
validate 메소드를 사용해서 정리했다
기존코드
UserService.java
// user가 존재하는지 확인
User user = userRepository.findById(id).orElseThrow(() -> new RuntimeException("User not found"));
// 탈퇴한 유저가 아닌지 확인
if (user.isDeleted()) {
throw new IllegalArgumentException("User is deleted");
}
수정된 코드
Preconditions.java
public class Preconditions {
public static void validate(boolean expression, ErrorCode errorCode) {
if (!expression) {
throw new IllegalArgumentException(errorCode.getMessage());
}
}
}
UserRepository.java
default User findByIdOrElseThrow(Long id) {
return findById(id)
.orElseThrow(
() -> new NoSuchElementException(ErrorCode.USER_NOT_FOUND.getMessage()));
}
UserService.java
User user = userRepository.findByIdOrElseThrow(id);
Preconditions.validate(!user.isDeleted(), ErrorCode.DELETED_USER);
'TIL' 카테고리의 다른 글
회의 메모 (0) | 2024.09.27 |
---|---|
@RestControllerAdvice (0) | 2024.09.13 |
Code Convention 도구 "Spotless" (0) | 2024.09.05 |
팀과제 피드백 (0) | 2024.09.04 |
Spring Boot 웹개발 Entity 상속관계 만들기 (0) | 2024.09.02 |