- Controller
DispatcherServlet에서 전달되는 request를 사용자가 생성한 Controller로 전달하는 역할 수행하고 Service와 DataBase를 거쳐 생성된 결과물을 View로 반환하는 역할 수행합니다.
- RestController
주로 Ajax를 통한 비동기 통신 방식을 구현할 때 사용하는 어노테이션으로 곧바로 View로 반환하는 것이 아닌 XML이나 JSON과 같은 데이터 형태를 반환하는 기능 수행합니다.
- RequestMapping
Controller는 요청 URL을 맵핑 하여 실행되도록 합니다. 이때 공통되는 URL 맵핑 이 이루어지는 경우 클래스에 해당 어노테이션 을 기입해준다면 기입된 클래스 내부의 모든 메서드는 같은 URL 맵핑 이 이루어집니다.
@Controller
public class HomeController {
@RequestMapping("/")
public String home() {
return "home";
}
}
@Controller
@RequestMapping("/")
public class HomeController {
@GetMapping("home")
public String home() {
return "home";
}
@GetMapping("login")
public String login() {
return "login";
}
}
- GetMapping
request 가 GET방식으로 넘어오면 해당 요청을 처리할 수 있도록 실행됩니다. 일반적으로 해당 방식은 주소창에 파라미터가 공개되기 때문에 개인정보 등 노출되서는 안되는 정보는 유의해서 사용해야 합니다.
- GetMapping
request 가 POST방식으로 넘어오면 해당 요청을 처리할 수 있도록 실행됩니다. 일반적으로 해당 방식은 주소창에 파라미터에 노출되지 않기 때문에 가장 기본적인 보안기능을 수행하게 됩니다.