도서관 앱_20260623, 하지만 에러발생

JAEWOONG LEE·2026년 6월 23일
post-thumbnail

먼저 하던 게시판앱의 소스를 모두 파악 못했지만
도서관앱으로 점프. 역시나 해석 불가.
아래 소스는 람다와 dto 그리고 체이닝관련인데 수정하면 수정할수록 제미나이에 의존하는 단점이 생겨버려서 원리를 알고 코딩을 해야함.
"왜 에러 발생하는지 모르는게 포인트"
@GetMapping("/search") // 오타 수정: /serach -> /search
public String search(@RequestParam(name = "keyword") String keyword, Model model)
{
// 검색어를 포함하는 책들을 db에서 가져옵니다.
List resultBooks = bookRepository.findByTitleContainingIgnoreCase(keyword).stream()
.map(book -> {
ResultBook dto = new ResultBook(); // 1. 생성자명 대문자 수정
dto.setTitle(book.getTitle());
dto.setAuthorName(book.getAuthor().getName()); // 4. 엔티티 관계에 맞게 오타 수정
dto.setInstanceCount(bookInstanceRepository.countByBookId(book.getId()));
dto.setUrl(book.getId());
return dto; // 2. 세미콜론(;) 추가
}).collect(Collectors.toList()); // 3. tolist() -> toList() 수정

    // [최종 dto] 검색 결과 dto
    BookSearchResponse dto = new BookSearchResponse();
    dto.setResultBooks(resultBooks);
    // 5. countByTitleContainIgmoreCase -> countByTitleContainingIgnoreCase 오타 수정
    dto.setResultCount(bookRepository.countByTitleContainingIgnoreCase(keyword));  

    // 뷰 완성하기
    model.addAttribute("keyword", keyword);
    model.addAttribute("result", dto);

    // 서버 응답
    return "search_result";
}
profile
just for programming test

0개의 댓글