diff --git a/src/main/java/com/example/newnique/news/controller/NewsController.java b/src/main/java/com/example/newnique/news/controller/NewsController.java index fb9b9bc..dfe4d12 100644 --- a/src/main/java/com/example/newnique/news/controller/NewsController.java +++ b/src/main/java/com/example/newnique/news/controller/NewsController.java @@ -64,17 +64,13 @@ public ResponseEntity> getNewsByCategory( public ResponseEntity> SearchNews( @RequestParam("keyword") String keyword, @RequestParam("page") int page, - @RequestParam("size") int size, - @RequestParam("sortBy") String sortBy, - @RequestParam("isAsc") boolean isAsc + @RequestParam("size") int size ) { Map newsResponseDtoList = newsService.SearchNews( keyword, page - 1, - size, - sortBy, - isAsc + size ); return ResponseEntity.ok(newsResponseDtoList); diff --git a/src/main/java/com/example/newnique/news/repository/NewsRepository.java b/src/main/java/com/example/newnique/news/repository/NewsRepository.java index 273fc8d..dc0e911 100644 --- a/src/main/java/com/example/newnique/news/repository/NewsRepository.java +++ b/src/main/java/com/example/newnique/news/repository/NewsRepository.java @@ -18,16 +18,13 @@ public interface NewsRepository extends JpaRepository { @Query( value = - "SELECT * FROM news WHERE MATCH(title, content) AGAINST (:keyword) " + - "ORDER BY :orderField :orderDirection " + + "SELECT * FROM news WHERE MATCH(title, content) AGAINST (:keyword) "+ "LIMIT :limit OFFSET :offset", nativeQuery = true ) List fullTextSearchNewsByKeyWordNativeVer( @Param("keyword") String keyword, @Param("limit") int limit, - @Param("offset") int offset, - @Param("orderField") String orderField, - @Param("orderDirection") String orderDirection + @Param("offset") int offset ); @Query( diff --git a/src/main/java/com/example/newnique/news/service/NewsService.java b/src/main/java/com/example/newnique/news/service/NewsService.java index 34f65d5..998c67c 100644 --- a/src/main/java/com/example/newnique/news/service/NewsService.java +++ b/src/main/java/com/example/newnique/news/service/NewsService.java @@ -89,18 +89,14 @@ public Map getNewsByCategory(String category, int page, int size } public Map SearchNews(String keyword, int page, - int size, String sortBy, boolean isAsc) { + int size) { - Sort.Direction direction = isAsc ? Sort.Direction.ASC : Sort.Direction.DESC; - Sort sort = Sort.by(direction, sortBy); - Pageable pageable = PageRequest.of(page, size, sort); + Pageable pageable = PageRequest.of(page, size); List newsListByCategory = newsRepository.fullTextSearchNewsByKeyWordNativeVer( keyword, pageable.getPageSize(), - (int)pageable.getOffset(), - sortBy, - "Desc" + (int)pageable.getOffset() ); Map response = new HashMap<>();