Mission
사용자로부터 폼 데이터를 받고 이를 컨트롤러에서 확인하시오
1. 입력 폼 생성
-form 요소 -> temple/new.mustache
-header와 footer 추가해준다. -> {{>layouts/header}} & {{>layouts/footer}}
2. 컨트롤러 추가
-@Controller 선언
- 메서드 안에 return "articles/new"; //view templates page
- @GetMapping("/articles/new") //브라우저에서 접속하는 주소
3. 폼 데이터 전송.
- form 데이터를 where? & how?
- where? action="/articles/create"에는 정보를 보내줄 URL 정보를 적어준다.
- how? method="post"는 보내줄 데이터 방식을 적어준다,
- 그리고 input요소와 textarea요소에 name="DTO 객체 이름"을 적어주고
- button의 submit 속성으로 서버에 데이터를 전송한다.
4. 폼 데이터 받기.
- Articlecontrolle 에서 @PostMapping("/articles/create") 폼에서 던져진 주소를 넣어줌
5. DTO 작성하기.
-폼데이터를 받아올 그릇이(객체가) 된다.
- 기본 패키지에 -> dto 패키지 추가 / 컨트롤러와 같은 레벨
- ArticleForm.java 추가 -> form 요소의 데이터를 받아올 DTO 객체
- 2개의 데이터 -> 2개의 필드
- 생성자를 통해 초기화
- toString() 메서드를 통해 데이터가 잘 받아졌는지 확인.
컨트롤러에 폼에서 던져진 데이터를 받아오기
-"/articles/create" URL요청이 들어왔을 때 (ArticleForm form) DTO로 받아오는 코드 !!
- @PostMapping("/articles/create") 메서드 파라미터에
- (ArticleForm form) DTO를 넣어줌.
- form에서 던져진 데이터를 받아오기 위해.
- println으로 넘겨받은 데이터 확인!
6. 입력값 이름 주기
-DTO와 동일한 필드명을 new.mustache에 넣어줘야한다. name="title" , name="content"
- 폼데이터란
html 요소인 form 태그에 담긴 데이터이다.
폼 데이터 전송되고 controller 는 이를 객체에 담아 받는다. 이 때 폼 데이터를 받는 객체를 DTO 라고 한다.
(아래 그림 참고)
Create
사용자의 입력이 DB라는 데이터 창고에 저장되는 과정이다.
(Client -> Server -> DB)
이번 과정에서는 데이터를 받아서 확인하는 거 까지 연습
- 5. DTO: 폼데이터를 받아올 그릇이(객체) 된다.
폼에서 던져진 데이터가 parameter로 던져진다. public String createArticle(ArticleForm form)
🔥 구글링 훈련하기
- HTTP GET POST 비교
- @PostMapping
- DTO란
- @ModelAttribute
내용참고
https://www.youtube.com/channel/UCpW1MaTjw4X-2Y6MwAVptcQ
'Spring Boot > Spring Boot 입문 홍팍' 카테고리의 다른 글
[Spring boot] (9) DB 테이블과 SQL (0) | 2023.08.06 |
---|---|
[Spring boot] (8) 데이터 생성하기 with JPA (0) | 2023.08.01 |
[Spring boot] (6) 뷰 템플릿과 레이아웃 (0) | 2023.07.31 |
[Spring boot] (5) MVC의 역할과 실행 흐름 (0) | 2023.07.31 |
[Spring boot] (4) 뷰 템플릿과 MVC 패턴 (0) | 2023.07.31 |