본문 바로가기
Spring Boot/Spring Boot 입문 홍팍

[Spring boot] (7) 폼 데이터 주고받기

by 몰라닉네임 2023. 7. 31.

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

 

홍팍

클라우드스터딩 | CloudStudying | 온라인 코딩학습 | 프로그래밍 강의 채널 https://cloudstudying.kr

www.youtube.com