From d5ab38e1bc8a5519720f413cee6573fbe31da986 Mon Sep 17 00:00:00 2001 From: realtradam Date: Mon, 8 Jul 2024 23:24:23 -0400 Subject: add form submission --- src/main/java/com/blog/web/controllers/ArticleController.java | 8 ++++++++ src/main/java/com/blog/web/services/ArticleService.java | 3 +++ src/main/java/com/blog/web/services/impl/ArticleServiceImpl.java | 5 +++++ 3 files changed, 16 insertions(+) (limited to 'src/main/java/com') diff --git a/src/main/java/com/blog/web/controllers/ArticleController.java b/src/main/java/com/blog/web/controllers/ArticleController.java index 3c86ea3..9d096f5 100644 --- a/src/main/java/com/blog/web/controllers/ArticleController.java +++ b/src/main/java/com/blog/web/controllers/ArticleController.java @@ -6,6 +6,8 @@ import com.blog.web.services.ArticleService; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.PostMapping; import java.util.List; @@ -30,4 +32,10 @@ public class ArticleController { model.addAttribute("article", article); return "articles/new"; } + + @PostMapping("/articles/new") + public String saveArticle(@ModelAttribute("article") Article article) { + articleService.saveArticle(article); + return "redirect:/articles"; + } } diff --git a/src/main/java/com/blog/web/services/ArticleService.java b/src/main/java/com/blog/web/services/ArticleService.java index c1b28e6..8d80c8a 100644 --- a/src/main/java/com/blog/web/services/ArticleService.java +++ b/src/main/java/com/blog/web/services/ArticleService.java @@ -1,9 +1,12 @@ package com.blog.web.services; import com.blog.web.dto.ArticleDto; +import com.blog.web.models.Article; import java.util.List; public interface ArticleService { List findAllArticles(); + + Article saveArticle(Article article); } diff --git a/src/main/java/com/blog/web/services/impl/ArticleServiceImpl.java b/src/main/java/com/blog/web/services/impl/ArticleServiceImpl.java index 2d3f253..3daf92c 100644 --- a/src/main/java/com/blog/web/services/impl/ArticleServiceImpl.java +++ b/src/main/java/com/blog/web/services/impl/ArticleServiceImpl.java @@ -23,6 +23,11 @@ public class ArticleServiceImpl implements ArticleService { return articles.stream().map(this::mapToArticleDto).collect(Collectors.toList()); } + @Override + public Article saveArticle(Article article) { + return articleRepository.save(article); + } + private ArticleDto mapToArticleDto(Article article) { return ArticleDto.builder() .id(article.getId()) -- cgit v1.2.3