7.1 데이터 수정 과정
- 수정 페이지를 만들고 기존 데이터 불러오기
- 데이터를 수정해 DB에 반영한 후 결과를 볼 수 있게 상세 페이지로 리다이렉트
1번 동작 과정
수정 버튼 클릭 -> 요청 받은 컨트롤러는 해당 글의 id로 DB에서 데이터 찾기 -> 컨트롤러는 가져온 데이터를 뷰에 사용할 수 있게 모델에 등록 -> 모델에 등록된 데이터를 수정 페이지에 보여줌 -> 사용자가 내용을 수정할 수 있는 상태
2번 동작 과정
폼 데이터(수정 요청 데이터)를 DTO에 담아 컨트롤러에서 받음 -> DTO를 엔티티로 변환 -> DB에서 기존 데이터를 수정 데이터로 갱신 - > 수정 데이터를 상세 페이지로 리다이렉트
7.2 <수정 페이지> 만들기
- mustache에서 가져오는 데이터의 사용 범위를 {{#데이터명}}{{/데이터명}} 형식으로 지정한 경우에는 {{변수명}}만 써도 가능하지만 범위를 따로 지정하지 않았다면 점(.)을 사용해 {{데이터명.변수명}}라고 표시해야 함
- <input> 태그로 생성한 입력 요소의 초깃값은 value로 정의하지만 <textarea> 태그로 생성한 여러 줄의 입력 요소는 콘텐트 영역에 초깃값을 정의함
<input type="text" class="form-control" name="타이틀" value="{{데이터명.변수명}}">
<textarea class="form-control" rows="3" name="내용">
{{데이터명.변수명}}
</textarea>
7.3 수정 데이터를 DB에 갱신하기
- MVC(Model-View-Controller) : 서버 역할을 분담해 처리하는 기법
- JPA(Java Persisitence API) : 서버와 DB 간 소통에 관여하는 기술
- SQL(Structured Query Language) : DB 데이터를 관리하는 언어
- HTTP(HyperText Transfer Protocol) : 데이터를 주고 받기 위한 통신 규약
7.3.1 HTTP 메서드
- 프로토콜(protocol)란?
- 컴퓨터 간에 원활하게 통신하기 위해 사용하는 전 세계 표준
- 친구와 연락할 때도 전화, 메신저, 이메일, 쪽지 등 다양한 방식을 사용하는 것처럼 프로토콜도 파일 전송을 위한 FTP(File Transfer Protocol), 이메일 전송을 위한 SMTP(Simple Mail Transfer Protocol) 등 기기와 목적에 따라 구분해 사용
- HTTP(HyperText Transfer Protocol)은 웹 서비스에 사용하는 프로토콜. 클라이언트의 다양한 요청을 메서드를 통해 서버로 보내는 역할
- HTTP의 대표적인 메서드
- POST : 데이터 생성 요청
- GET : 데이터 조회 요청
- PATCH(PUT) : 데이터 수정 요청
- DELETE : 데이터 삭제 요청
- CRUD(Create Read Update Delete)는 데이터의 생성, 조회, 수정, 삭제 기능의 동작을 합친 말
데이터 관리 | SQL | HTTP |
데이터 생성(Create) | INSERT | POST |
데이터 조회(Read) | SELECT | GET |
데이터 수정(Update) | UPDATE | PATCH(PUT) |
데이터 삭제(Delete) | DELETE | DELETE |
- 데이터 수정시 PATCH가 아닌 POST를 사용한다.
- 그 이유는 <form> 태그가 옛날에 만들어진 규격이라 PATCH 메서드를 지원하지 않기 때문
- <form> 태그는 GET과 POST 메서드만 지원
- findById() 메서드는 리파지터리가 자동으로 제공하는 메서드, 괄호 안에는 찾는 id 값을 작성
'개인 공부 > BackEnd Study' 카테고리의 다른 글
[ Spring Boot ] 맨날 까먹는 나를 위한 복습 - 12 - (0) | 2024.03.24 |
---|---|
[ Spring Boot ] 맨날 까먹는 나를 위한 복습 - 11 - (0) | 2024.03.22 |
[ Spring Boot ] 맨날 까먹는 나를 위한 복습 - 6 - (0) | 2024.03.17 |
[ Spring Boot ] 맨날 까먹는 나를 위한 복습 - 2 - (0) | 2024.03.09 |
[ Spring Boot ] 맨날 까먹는 나를 위한 복습 - 1 - (0) | 2024.01.19 |