728x90
반응형
@GetMapping @PostMapping은 Spring 4.3 이후로 추가 되었다.
@RequestMapping(value="/register/add", method="RequestMethod.GET")
@RequestMapping(value="/register/save", method="RequestMaethod.POST")
이 코드를
@GetMapping("/register/add")
@PostMapping("/register/save")
이렇게 간단하게 사용할 수 있다.
@GetMapping("/register/add")
@PostMapping("/register/add")
url이 같으면 원래는 충돌이 나지만 method가 다르기때문에 구분이 가능하여 충돌나지 않는다.
@Controller
@RequestMapping("/register")
public class RegisterController {
@GetMapping("/add")
public String register() {
return "registerForm";
}
@PostMapping("/add")
public String save() {
return "registerInfo";
}
}
맵핑될 url의 공통 부분을 @RequestMapping으로 클래스에 적용할 수 있다.
@GetMapping, @PostMapping이 import가 되지 않는다면 Spring의 버전을 확인해야한다.
Maven Dependencies의 Spring버전을 확인해보자.
pom.xml의 Spring 버전을 변경해준다.
pon.xml이 수정되었을땐 Update Project를 해줘야한다.
완료 후 Maven Dependencies를 확인해보면 Spring의 버전이 변경한 버전으로 바꼈음을 확인할 수 있다.
@GetMapping("register/add")
public String register() {
return "registerForm";
}
다음과 같은 코드는 그저 register/add를 입력했을 때 registerForm view로 연결해주는 단순한 역할만 한다.
이런 경우엔 view-controller를 사용해 코드를 간소화 할 수 있다.
<view-controller path="/register/add" view-name="registerForm"/> 이라고 추가하면
@GetMapping("register/add")
public String register() {
return "registerForm";
}
위 코드와 같은 역할을 하기때문에 위 코드를 삭제해도 된다.
view-controller는 GET요청만 허용하고 POST요청은 허용하지 않는다.
728x90
반응형
'Programming > Spring' 카테고리의 다른 글
Spring , 좋은 객체 지향 프로그래밍 (0) | 2022.08.08 |
---|---|
@ModelAttribute (0) | 2022.01.02 |
@RequestParam (0) | 2022.01.01 |
JSTL이란? JSTL core태그 (0) | 2021.04.19 |
[Spring] 스프링 MVC - Model (데이터 전달자) (0) | 2021.04.14 |
댓글