1. 개발 진행 상황
검색 기능 강화
기존 코드
// 코스(게시글) 검색(제목, 내용, 카테고리 검색)
//Controller
@GetMapping("/api/course/search")
public Slice<PostResponseDto> search(@RequestParam(value = "keyword") String keyword){
PageRequest pageRequest = PageRequest.of(0, 5);
return postService.searchPost(keyword, pageRequest);
}
// Service
@Transactional
public Slice<PostResponseDto> searchPost(String keyword, Pageable pageable){
return postRepository.findAllSearch(keyword, pageable);
}
// Repository interface
@Query(value = "SELECT p FROM Post p WHERE p.title LIKE %:keyword% OR p.content LIKE %:keyword% OR p.weather LIKE %:keyword% OR p.region LIKE %:keyword% OR p.season LIKE %:keyword% OR p.who LIKE %:keyword%")
List<Post> findAllSearch(String keyword);
문제점
1. 띄어쓰기 검색 시 해당 키워드가 포함되어 있어도 조회가 되지 않음
2. 한글자 검색은 됨, 계절을 검색하는데 봄 이면 '봄' 키워드가 들어간 게시글 조회는 되지만 '봄가을' 이라고 검색하면 조회가 안됨
3. 위 1, 2 문제 발생 시 해당 상황에 맞는 응답 필요할 듯
수정 코드
// 코스(게시글) 검색(제목, 내용, 카테고리 검색)
//Controller
@GetMapping("/api/course/search")
public Slice<PostResponseDto> search(@RequestParam(value = "keyword") String keyword){
PageRequest pageRequest = PageRequest.of(0, 5);
return postService.searchPost(keyword, pageRequest);
}
// Service
@Transactional
public Slice<PostResponseDto> searchPost(String keyword, Pageable pageable){
return postRepository.findAllSearch(keyword, pageable);
}
// findByTitleContainingOrContentContainingOrWeatherContainingOrregionContainingOrSeasonContainingOrWhoContaining
2. 개발 중 발생한 이슈와 해결
3. 새로 배운 것
4. 참고 레퍼런스
5. 오늘 한 일 / 회고
6. TO-DO LIST
'개발 일지' 카테고리의 다른 글
[TIL]이노베이션 캠프 82일차 (0) | 2022.10.22 |
---|---|
[TIL]이노베이션 캠프 81일차 (0) | 2022.10.20 |
[TIL]이노베이션 캠프 79일차 (0) | 2022.10.18 |
[TIL]이노베이션 캠프 78일차 (0) | 2022.10.18 |
[WIL]이노베이션 캠프 11주차 (0) | 2022.10.16 |