11.6. 책 목록 뷰 추가하기
책 목록 뷰를 추가합니다.src/main/resources > templates.book > list.htmlCopy 책 목록 책 번호 책 제목
- 스프링 부트 하루만에 배우기
- · 2024. 8. 7.
책 목록 기능을 확인해 봅시다.먼저 전체 리스트의 모습입니다. 페이지 매개변수가 없을 경우 1페이지라고 가정합니다.http://localhost:8080/book/list페이지 매개변수가 있다면 페이지 매개변수에 따라 결과가 나옵니다.http://localhost:8080/book/list?page=1page=1 매개변수가 기본값이 됩니다.2번째 페이지를 확인해 봅시다. page=2 매개변수를 스프링 부트에 전달해 봅니다.http://localhost:8080/book/list?page=2검색도 해 볼께요. title 매개변수를 url에 전달합니다.http://localhost:8080/book/list?title=스프링검색과 페이징이 동시에 가능한지도 확인해 봐야죠. title=스프링, page=2입니..
책 목록 뷰를 추가합니다.src/main/resources > templates.book > list.htmlCopy 책 목록 책 번호 책 제목
요청을 처리하기 위해 컨트롤러 메소드를 추가합니다.src/main/java > com.yse.dev.book > BookController.java@GetMapping(value= {"/book/list", "/book"}) public ModelAndView bookList(String title, Integer page, ModelAndView mav){ mav.setViewName("/book/list"); List books = this.bookService.bookList(title, page); mav.addObject("books", books); return mav; } 모든 로직은 서비스 클래스에서 처리되므로 컨트롤러에서는 ..
책 목록 메소드와 응답 클래스를 이용해서 책 목록을 반환하는 기능을 추가해 보겠습니다.src/main/java > com.yse.dev.book.service > BookService.javaCopypublic List bookList(String title, Integer page){ final int pageSize = 3; List books; if (page == null) { page = 0; }else { page -= 1; } if (title == null) { Pageable pageable = PageRequest.of(page, pageSize, Direction.DESC, "inse..
책 목록을 클라이언트에 응답하기 위한 DTO 객체를 만듭니다.src/main/java > com.yse.dev.book.dto > BookListResponseDTO.javapackage com.yse.dev.book.dto; import lombok.AllArgsConstructor; import lombok.Getter; @Getter public class BookListResponseDTO { private Integer bookId; private String title; public BookListResponseDTO(Integer bookId, String title) { this.bookId = bookId; this.title = title; } }
책 정보 리포지터리에 아래의 인터페이스를 추가합니다.src/main/java > com.yse.dev.book.entity > BookRepository.javapublic List findByTitleContains(String title, Pageable pageable); 이제 BookRepository.java 코드는 다음과 같아집니다.package com.yse.dev.book.entity; import java.util.List; import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.repository.JpaRepository; public interface BookRepository e..