summaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/blog/web/controllers/ArticleController.java
diff options
context:
space:
mode:
authorrealtradam <[email protected]>2024-07-11 23:20:40 -0400
committerrealtradam <[email protected]>2024-07-11 23:20:40 -0400
commitd0e45a9093b33d4e5cb5f57fabdcb807dc8e8ff0 (patch)
treec5e4457bdbc64d5ecbe72e43258d2c7af70063eb /src/main/java/com/blog/web/controllers/ArticleController.java
parent40075162def7d0a4ce9d795f4cfe83264fac50b4 (diff)
downloadspring-blog-d0e45a9093b33d4e5cb5f57fabdcb807dc8e8ff0.tar.gz
spring-blog-d0e45a9093b33d4e5cb5f57fabdcb807dc8e8ff0.zip
add search functionality
Diffstat (limited to 'src/main/java/com/blog/web/controllers/ArticleController.java')
-rw-r--r--src/main/java/com/blog/web/controllers/ArticleController.java25
1 files changed, 21 insertions, 4 deletions
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<ArticleDto> articles = articleService.searchArticles(search);
+ model.addAttribute("articles", articles);
+ return "index";
+ }
+
@GetMapping("/articles")
public String getArticles() {
return "redirect:/";