글쓰기는 글 목록 조회 화면에서 시작한다.
글쓰기 버튼을 누르면 get 방식으로 주소 /board/add에 매핑된다.
가독성을 위해 글쓰기 페이지로의 이동과 글 입력 기능을 같은 주소로 매핑하고 메소드를 통해 이를 구분한다.
스프링에서 주소를 매핑하는 어노테이션은 @RequestMapping, @GetMapping, @PostMapping 3가지가 존재한다.
- @RequestMapping : 메소드 상관 없이 매핑
- @GetMapping : GET 메소드만 매핑
- @PostMapping : POST 메소드만 매핑
<a> 태그의 href는 GET 메소드로만 데이터를 보내므로 글쓰기 버튼을 눌렀을 때 @GetMapping 어노테이션이 달린 moveToAddForm 메소드와 매핑된다.
th:field는 원래 개발자가 작성해야하는 id, name을 field 안에 있는 키 값으로 자동 매핑해준다.
th:object는 form 데이터를 하나의 객체로 매핑해준다.
action 안에 이동할 주소를 넣어야하지만 동일한 주소에 메소드만 다르기 때문에 아무것도 입력하지 않는다.
등록 버튼을 누르면 /board/add 주소로 POST 메소드 형식으로 이동한다.
등록 버튼을 누른 뒤 Controller에서 디버깅을 찍어보면 form 데이터가 vo에 잘 들어간 것을 확인할 수 있다.
해당 데이터를 DB에 매퍼를 통해 잘 넣어주고 redirect를 통해 리턴해준다.
리다이렉트를 통해 Status Code 302를 받았고 목록 페이지로 잘 이동한 걸 확인할 수 있다.
'프로젝트 > 게시판 0부터 10까지' 카테고리의 다른 글
[게시판] 글수정 (0) | 2022.09.14 |
---|---|
[게시판] 글 조회 (@PathVariable) (0) | 2022.09.13 |
왜 생성자 주입을 써야하는가? (0) | 2022.09.06 |
[게시판] 글 목록 조회 (0) | 2022.09.05 |
스프링 부트 인텔리제이 기본 필요 세팅 (0) | 2022.09.02 |