- @RequestMapping: Spring MVC에서 가장 기본적인 애너테이션 중 하나로, HTTP 요청을 특정 메서드에 매핑해주는 역할을 해요. HTTP 메서드(GET, POST, PUT, DELETE 등)에 관계없이 사용할 수 있는 다목적 애너테이션이죠.
- @GetMapping: 이 애너테이션은 @RequestMapping의 기능 중 GET 요청에 특화된 버전이에요. 말 그대로 GET 요청을 처리하는데 사용되죠.
- @RequestMapping**은 다목적이에요! GET뿐만 아니라 POST, PUT, DELETE 등 다양한 HTTP 메서드와 함께 사용할 수 있답니다. 그만큼 유연하게 사용이 가능하죠.
- @GetMapping**은 이름에서 알 수 있듯이 GET 요청에만 사용돼요. RESTful 서비스에서 데이터를 조회할 때 주로 사용되죠.
- @RequestMapping은 method 속성을 통해 어떤 HTTP 메서드를 처리할지 명시해야 해요.
@RequestMapping(value = "/hello", method = RequestMethod.GET) public String sayHello() { return "Hello!"; }
- @GetMapping은 GET 요청만을 처리하므로, 메서드를 따로 지정할 필요가 없어요. 코드가 더 간결해지죠!
@GetMapping("/hello") public String sayHello() { return "Hello!"; }
두 애너테이션의 공통점도 살펴봐야겠죠?
요청 매핑: 둘 다 클라이언트의 요청을 특정 메서드에 매핑하는 역할을 해요. 요청이 들어오면 해당 요청을 처리할 메서드를 찾아주는 거죠.
사용 위치: 두 애너테이션 모두 컨트롤러 클래스나 메서드 레벨에서 사용될 수 있어요.
Spring MVC 기반: 둘 다 Spring MVC에서 제공하는 애너테이션으로, 웹 애플리케이션에서 HTTP 요청을 처리하는 데 사용돼요.
GET 요청만 처리하는 메서드라면? @GetMapping!
여러 HTTP 메서드를 처리해야 한다면? @RequestMapping!
상황에 맞게 적절한 애너테이션을 사용하는 것이 중요해요.
여러분도 이제 @RequestMapping과 @GetMapping의 차이점과 공통점을 확실히 이해하셨을 거라 믿어요! 😊