![[스프링부트(Spring Boot)]8. 스프링부트 블로그 v1](https://image.inblog.dev?url=https%3A%2F%2Finblog.ai%2Fapi%2Fog%3Ftitle%3D%255B%25EC%258A%25A4%25ED%2594%2584%25EB%25A7%2581%25EB%25B6%2580%25ED%258A%25B8%28Spring%2520Boot%29%255D8.%2520%25EC%258A%25A4%25ED%2594%2584%25EB%25A7%2581%25EB%25B6%2580%25ED%258A%25B8%2520%25EB%25B8%2594%25EB%25A1%259C%25EA%25B7%25B8%2520v1%26logoUrl%3Dhttps%253A%252F%252Finblog.ai%252Finblog_logo.png%26blogTitle%3Dsson17&w=2048&q=75)
스스로 처음부터 끝까지 혼자서 다해보기 !!
board
db
템플릿
레이아웃
모델 쓰는코드
package com.metacoding.blogv1.board;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import java.util.List;
// 책임: 요청잘받고 응답잘하고
@Controller //컴퍼넌트 스캔 -> DS가 활용
public class BoardController {
private BoardService boardService;
//DI : 의존성 주입 -> IoC로 부터 들고옴
public BoardController(BoardService boardService) {
this.boardService = boardService;
}
@PostMapping("/board/{id}/update")
public String update(@PathVariable("id") int id, String title, String content) {
// update board_tb set title=?, content=? where id =?
//주소로 받는 데이터는 where에 걸린다
System.out.println("id: " + id + " title: " + title + " content: " + content);
return "redirect:/board/" + id;
}
@PostMapping("/board/{id}/delete")
public String delete(@PathVariable int id) {
System.out.println("id: " + id); //id로 db가서 삭제하면 됨.
return "redirect:/";
}
@PostMapping("/board/save")
public String save(String title, String content) {
boardService.게시글쓰기(title, content);
return "redirect:/"; //주소가 만들어져있으면 리다이렉션
}
@GetMapping("/")
public String list(Model model) {
List<Board> boards = boardService.게시글목록(); //request 담기
model.addAttribute("models", boards);
return "list";// forward
}
@GetMapping("/board/{id}") //패턴 매칭 /board/1, 2, 3
public String detail(@PathVariable("id") int id, Model model) {
Board board = boardService.게시글상세보기(id);
model.addAttribute("model", board);
return "detail";
}
@GetMapping("/board/save-form") //주소는 (하이픈 사용)
public String saveForm() {
return "save-form";
}
@GetMapping("/board/{id}/update-form")
public String updateForm(@PathVariable("id") int id) {
return "update-form";
}
}
Share article