[스프링부트 나만의 블로그 만들기] 04. 초기 테스트 (id로 select 테스트)

이경민·2022년 9월 15일
0

spring

목록 보기
14/20

id값으로 사용자 정보 호출

  1. url에 {id}와 @PathVariable int id를 사용
  2. 해당 id 값을 사용하여 정보 호출

코드

@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;
}

요청 정보

  • 요청: 웹브라우저
  • User 객체: 자바 오브젝트
  • 변환 (웹브라우저가 이해 가능한 데이터 -> json (Gson 라이브러리)
  • 스프링부트 = MessageConverter라는 것이 응답시에 자동 작동
  • 만약에 자바 오브젝트를 리턴하게 되면 MessageConverter가 Jackson 라이브러리를 호출해 user 오브젝트를 변환해 브라우저에게 던져준다.

특징

orElseThrow는 User 객체에 null 값이 들어왔을 때만 작동한다.

url

0개의 댓글