@GetMapping("/dummy/user/{id}")
public User detail2(@PathVariable int id) {
// 해당하는 user id가 없으면 null이 return된다
// null이 return 되면 문제가 생긴다.
// 따라서 Optional로 너의 User 객체를 감싸서 가져오면 null 여부를 판단해 return한다.
User user=userRepository.findById(id).orElseThrow(new Supplier<IllegalArgumentException>(){
@Override
public IllegalArgumentException get() {
return new IllegalArgumentException("해당 user는 없습니다. id: "+id);
}
});
return user;
}
orElseThrow는 User 객체에 null 값이 들어왔을 때만 작동한다.