본문 바로가기
Spring/SpringBoot

[goormedu 강의] 스프링부트 블로그 만들기 04 - 03 id로 select 테스트

by 코딩맛 2024. 8. 13.
해당 글은 groomedu의 스프링부트 나만의 블로그 만들기 강의를 보고 개인적으로 정리한 글입니다.

 

GET 요청 시  파라미터로 {id}를 넘겨주는데

@PathVariable을 사용해서 파라미터를 전달 받음.

@GetMapping("/dummy/user/{id}")
public User detail(@PathVariable int id) throws IllegalAccessException {
    User user = userRepository.findById(id).orElseThrow(new Supplier<IllegalAccessException>() {
        @Override
        public IllegalAccessException get() {
            return new IllegalAccessException("해당 유저는 없습니다. id:"+id);
        }
    });
    return user;
}

 

.findById를 통해 객체를 가져올 때 .orElseThrow를 통해서 값이 null일 때 예외처리를 해준다.

 

** 요청을 웹브라우저에서 하는데 

user 객체는 자바오브젝트이므로 화면에 보여줄 때 json으로 변환하여 리턴해줘야 함.

스프링에서는 MessageConverter가 응답시에 자동으로 작동하는데

이는 자바오브젝트를 리턴하게 되면 Jackson 라이브러리를 호출해서 

user 오브젝트를 json으로 변환해서 브라우저에게 던져줌.