[SpringBoot] 상세페이지 (0820)

왕감자·2024년 8월 20일

KB IT's Your Life

목록 보기
137/177

상세페이지

  • 상품마다 상세페이지
  • 이름 누르면 상세페이지로 이동

Optional

  • JPA - findById()
  • Optional<Item> : 비어있을 수도 있고 Item 일 수도 있음
  • .get() 을 해야 출력 가능
    • 주의: Optional이 비어있으면 멈추니 if문을 같이 쓴다
Optional<Item> result = itemRepository.findById(id);
if(result.isPresent()){
   System.out.println(result.get());
}

🤔 프론트로 객체로 넘기는게 좋을까? 속성별로 보내는게 좋을까?

1)

if(result.isPresent()){
     model.addAttribute("item", result.get());
     return "detail.html";
}

2)

if(result.isPresent()){
	 Item item = result.get();
     model.addAttribute("title", item.getTitle());
     model.addAttribute("price", item.getPrice());
     return "detail.html";
}

➡ 1) 객체를 하나의 단위로 넘기는 방법

  • 프론트에서 item 객체를 통째로 받기 때문에 이후에 title, price 외에 다른 속성등이 추가될 경우 백엔드에서 해당 속성들을 추가하거나 수정할 대 프론트엔드 코드에는 큰 변화 없이 계속 사용할 수 있음
  • 유지보수가 용이하고 확장성이 높음, 데이터 일관성 유지

0개의 댓글