[Spring MVC] @~Mapping 사용시 참고

 

원래는 @RequestMapping 어노테이션을 통해서 URL을 컨트롤러의 메서드와 매핑할때 요청 주소와 방식을 설정하였다.

@RequestMapping(value="/check", method={RequestMethod.POST})

 

이후 스프링이 업데이트되면서 일일히 RequestMapping의 method를 설정해주지 않고 직관적으로 설정하기 위하여 Mapping관련 어노테이션인 @GetMapping, @PostMapping등이 추가되었다. 

 

@PostMapping같은 어노테이션을 찾아보면 @RequestMapping어노테이션이 있다.

 

 

일반적으로 GET과 POST매핑을 사용할때, 뷰의 form태그의 method에 따라서 요청 방식이, action에 따라서 uri가 결정된다. 

<form th:action="@{/items/new}" th:object="${form}" method="post">

 

이때, form의 요청을 발생시켜주는 페이지의 uri와 form으로 요청이 들어오는 uri가 같다면 action uri는 생략 가능하다.

<form th:object="${form}" method="post">

 

컨트롤러에서 form의 action정보가 없다면 form의 GET이나 POST요청이 이루어진 주소 그대로 처리된다고 생각하면 될듯.

 

 

추가)

기본적으로 컨트롤러에서,
@GetMapping : 뷰페이지 파일을 읽어 화면에 출력
@PostMapping : 뷰페이지 파일로부터 필요한 데이터를 송/수신
으로 생각하면 되겠다,

 

GetMapping은 웹브라우저에서 GET방식(주소창으로 전달)으로 들어오면 연결되고, PostMapping은 POST방식(흔히 form태그에서 지정)으로 들어오면 연결해준다.

form태그는 submit버튼을 통해서 form의 내용을 action의 uri로 전달하고 다이렉션한다.