board-controller

2024. 4. 11. 16:32개발일지

package com.example.board.Controller;

import com.example.board.DTO.BoardDTO;
import com.example.board.Service.BoardSerivce;
import lombok.RequiredArgsConstructor;
import lombok.extern.java.Log;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;

import java.util.List;

@Controller
@RequiredArgsConstructor
@Log
public class BoardController {
    //참고하는 클래스가 Service
    private final BoardSerivce boardSerivce;
    
    //목록
    @GetMapping("/list")
    public String List(Model model) {
        log.info("목록처리 컨트롤러");
        List<BoardDTO> boardDTOS= boardSerivce.findall();
        model.addAttribute("list", boardDTOS);
        return "board/list";
    }
    //삽입폼
    @GetMapping("/insert")
    public String InsertForm() {
        log.info("삽입폼 컨트롤러");
        return "board/insert";
    }
    //삽입처리
    //HTML->Service
    @PostMapping("/insert")
    public String InsertProc(BoardDTO boardDTO) {
        log.info("삽입처리 컨트롤러");
        boardSerivce.create(boardDTO);
        return "redirect:/list";
    }
    //수정폼(개별조회)
    @GetMapping("/update")
    public String UpdateForm(Integer id, Model model) {
        log.info("수정폼 컨트롤러");
        BoardDTO boardDTO = boardSerivce.findbyid(id);
        model.addAttribute("data", boardDTO);
        return "board/update";
    }
    //수정처리
    //HTML->Service
    @PostMapping("/update")
    public String UpdateProc(BoardDTO boardDTO) {
        log.info("수정처리 컨트롤러");
        boardSerivce.update(boardDTO);
        return "redirect:/list";
    }
    //삭제처리
    @GetMapping("/delete")
    public String DeleteProc(Integer id) {
        log.info("삭제처리 컨트롤러");
        boardSerivce.delete(id);
        return "redirect:/list";
    }
    //상세폼
    @GetMapping("/detail")
    public String DetailForm(Integer id, Model model) {
        log.info("상세보기 컨트롤러");
        BoardDTO boardDTO = boardSerivce.findbyid(id);
        model.addAttribute("data", boardDTO);
        return "board/detail";
    }
}

'개발일지' 카테고리의 다른 글

member-service  (0) 2024.04.11
movie-controller  (0) 2024.04.11
member-controller  (0) 2024.04.11
board-view  (0) 2024.04.11
board-service  (0) 2024.04.11