From d0e45a9093b33d4e5cb5f57fabdcb807dc8e8ff0 Mon Sep 17 00:00:00 2001 From: realtradam Date: Thu, 11 Jul 2024 23:20:40 -0400 Subject: add search functionality --- .../blog/web/controllers/ArticleController.java | 25 ++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) (limited to 'src/main/java/com/blog/web/controllers/ArticleController.java') diff --git a/src/main/java/com/blog/web/controllers/ArticleController.java b/src/main/java/com/blog/web/controllers/ArticleController.java index 0e58877..0cdff15 100644 --- a/src/main/java/com/blog/web/controllers/ArticleController.java +++ b/src/main/java/com/blog/web/controllers/ArticleController.java @@ -7,10 +7,7 @@ import jakarta.validation.Valid; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.validation.BindingResult; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.ModelAttribute; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.*; import java.time.LocalDateTime; import java.util.List; @@ -30,6 +27,13 @@ public class ArticleController { return "index"; } + @GetMapping("/articles/{articleId}") + public String showArticle(@PathVariable("articleId") long articleId, Model model) { + ArticleDto articleDto = articleService.findArticleById(articleId); + model.addAttribute("article", articleDto); + return "articles/show"; + } + @GetMapping("/articles/new") public String createArticleForm(Model model) { Article article = new Article(); @@ -49,6 +53,12 @@ public class ArticleController { return "redirect:/articles"; } + @GetMapping("/articles/delete/{articleId}") + public String deleteArticle(@PathVariable("articleId") Long articleId) { + articleService.delete(articleId); + return "redirect:/articles"; + } + @GetMapping("/articles/edit/{articleId}") public String editArticleForm(@PathVariable("articleId") long articleId, Model model) { ArticleDto articleDto = articleService.findArticleById(articleId); @@ -68,6 +78,13 @@ public class ArticleController { return "redirect:/articles"; } + @GetMapping("/articles/search") + public String searchArticle(@RequestParam(value = "search") String search, Model model) { + List articles = articleService.searchArticles(search); + model.addAttribute("articles", articles); + return "index"; + } + @GetMapping("/articles") public String getArticles() { return "redirect:/"; -- cgit v1.2.3