Programming/Spring | Spring-Boot
[Spring] @RequestMapping
seandoesdev
2023. 9. 14. 14:15
1. RequestMapping
url 요쳥(request)를 Controller에 있는 메소드와 맵핑하기 위해 사용하는 어노테이션
1.1 예시
@RequsetMapping이 어떻게 사용되는지 예시로 살펴보자
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class MainController{
@RequestMapping(value="/login", method=RequestMethod.GET)
public String login(...) {
...
}
@RequestMapping(value="/login", method=RequestMethod.POST)
public String login2(...) {
...
}
@RequestMapping(value="/login*", method=RequestMethod.POST)
public String login3(...) {
...
}
@RequestMapping(value="/login/*", method=RequestMethod.POST)
public String login4(...) {
...
}
@RequestMapping(value="/login/*/user", method=RequestMethod.POST)
public String login5(...) {
...
}
@RequestMapping(value="/login**", method=RequestMethod.POST)
public String login2(...) {
...
}
@RequestMapping(value="/login/**", method=RequestMethod.POST)
public String login2(...) {
...
}
}
1.2 중복되는 형태의 요청맵핑값
/member/login과 /member/ logout은 동일하게 /mebmer가 존재한다. 지금은 단순히 짧아서 아무렇지 않지만 더 긴 값을 갖는 경우라면 매번 입력해줘야 하는 번거로움이 발생한다.
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class MemberController{
@RequestMapping(value="/member/login")
public String login(...) {
...
}
@RequestMapping(value="/member/logout")
public String logout(...) {
...
}
}
그래서 아래와 같이 클래스에 RequestMapping("/member")으로 해결해줄 수 있다.
@Controller
@RequestMapping("/member")
public class MemberController{
@RequestMapping(value="/login")
public String login(...){
...
}
@RequestMapping(value="/logout")
public String logout(...){
...
}
}