전에 뉴스피드프로젝트에서 만들어둔 프로젝트로 파일을 수정 및 개선해보려고한다.
@RestControllerAdvice
public class GlobalExceptionHandler {
// 예외 처리 메서드 예시
// 여기서는 모든 Exception 타입의 예외를 처리
@ExceptionHandler(Exception.class)
public final ResponseEntity<String> handleAllExceptions(Exception ex, WebRequest request) {
// 예외에 대한 간단한 메시지와 함께 INTERNAL_SERVER_ERROR (500) 상태 코드를 반환
return new ResponseEntity<>(ex.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);
}
// 특정 예외 타입을 처리하는 메서드 예시
// CustomException이라는 사용자 정의 예외를 처리
@ExceptionHandler(CustomException.class)
public final ResponseEntity<String> handleUserNotFoundException(CustomException ex, WebRequest request) {
// CustomException의 경우, NOT_FOUND (404) 상태 코드를 반환
return new ResponseEntity<>(ex.getMessage(), HttpStatus.NOT_FOUND);
}
}
- CustomException클래스를 추가해준다.
각 Controller에 해당하는 Service를 인터페이스로 만들어주고 각 ServiceImpl클래스를 추가한다.
각 ServiceImpl클래스에 각 Service를 implements 해준다.
@Service
@RequiredArgsConstructor
public class UserServiceImpl implements UserService {
// UserService의 구현체 코드 여기에 작성
}
@Service
@RequiredArgsConstructor
public class BoardServiceImpl implements BoardService {
// BoardService의 구현체 코드 여기에 작성
}
@Service
@RequiredArgsConstructor
public class CommentServiceImpl implements CommentService {
// CommentService의 구현체 코드 여기에 작성
}