Spring

[스프링부트3 자바백엔드개발입문] 7장 게시글 수정하기 : Update

1son 2023. 9. 23. 23:22

미리보기 

: 데이터 수정은 서버에서 어떻게 처리하는 걸까요?

: 수정하기 위해 기존 글을 수정 페이지로 불러오고 이를 변경해 다시 DB에 저장해 봅니다. 

 


1. <수정 페이지> 만들고 기존 데이터 불러오기

2. 데이터를 수정해 DB에 반영한 후 결과를 볼 수 있게 <상세 페이지>로 리다이렉트하기 


 

 

 

7.2.1 <상세 페이지>에 Edit 버튼 만들기

 

7.2.2 Edit 요청을 받아 데이터 가져오기 

@GetMapping("/articles/{id}/edit")
    public String edit(@PathVariable Long id, Model model){
        //수정할 데이터 가져오기 
        Article articleEntity = articleRepository.findById(id).orElse(null);
        //모델에 데이터 등록하기 
        model.addAttribute("article", articleEntity);
        //뷰 페이지 설정하기
        return "articles/edit";
    }

 

 

7.2.3 수정 폼 만들기

 

여기까지 DB에 저장된 데이터를 가져와 수정 페이지에 출력하는 과정을 실습했습니다~

 

 


 

이제는 수정 데이터를 DB에 갱신하는 부분 ! 

 

7.3.1 HTTP 메서드 

HTTP : 웹 서비스에 사용하는 프로토콜

HTTP는 클라이언트의 다양한 요청을, 메서드를 통해 서버로 보내는 역할을 합니다. 

 

그러면 HTTP 메서드로 데이터 수정을 요청하고

실제 DB에 반영하는 과정을 직접 실습해 보겠습니다. 

 

 

 

7.3.2 더미 데이터 설정하기 

이제 서버를 다시 켜도, 데이터 3개는 무조건 들어와 있을 것 입니다

 

 

7.3.3 <수정 페이지> 변경하기 

 

7.3.4 수정 데이터 받아오기 

컨트롤러에서 수정된 데이터를 받은 것을 확인할 수 있습니다. 

 

 

7.3.5 DB에 저장하고 결과 페이지로 리다이렉트하기 

데이터를 DTO에 담았다면 최종적으로 DB에 저장해야 합니다. 

3단계 

1. DTO를 엔티티로 변환하기 

2. 엔티티를 DB에 저장하기 

3. 수정 결과 페이지로 리다이렉트하기 

 

 

7장 끗