DB
insert test를 하다가 망가진 1번 데이터를 Delete해보자
Controller
@DeleteMapping("/dummy/user/{id}")
public String DeleteUser(@PathVariable int id) {
userRepository.deleteById(id);
return "삭제되었습니다 Id : " + id;
}
결과 확인
매우 간단하게 delete 문을 작성할 수 있다. 하지만 이 방법은 조금 위험하다.
만약에 존재하지 않는 값 5를 넣어준다면 ?
위와 같이 오류가 발생하게 된다.
--> Exception (예외) 처리를 해야된다.
@DeleteMapping("/dummy/user/{id}")
public String DeleteUser(@PathVariable int id) {
try { // try-catch 예외처리문
userRepository.deleteById(id);
} catch (EmptyResultDataAccessException e) {
return "삭제에 실패하였습니다. 해당 id는 DB에 없습니다.";
}
return "삭제되었습니다 Id : " + id;
}
try-catch 문을 활용하여 예외처리를 한다.
EmptyResultDataAccessException : 값이 없는 오류
귀찮으면 Exception을 써도된다. Exception은 모든 예외처리문의 최고 부모임
하지만 어떤 오류가 나와도 "삭제에 실패하였습니다. 해당 id는 DB에 없습니다." 를 반환하기 때문에
정확한 디버깅을 위해서 어떤 예외처리인지 써주는 편이 좋다.