본문 바로가기
🌷 Spring/개념

[Spring] @RequestMapping이란?

by ._.sori 2025. 8. 20.

 

 

@RequestMapping
언제 쓰는걸까?

 

 

 

 

@RequestMapping

  • 컨트롤러 단에서 사용되며, DispatcherServlet이 컨트롤러 파일을 찾고 논리적 주소가 매핑된 메서드를 찾기 위해서 @Controller와 @RequsetMapping을 작성한다.
  • 들어온 요청을 특정 메서드와 매핑하기 위해 사용한다.
  • @RequestMapping에서 가장 많이 사용하는 부분은 value와 method이다.
  • value는 요청 받을 url을 설정하고, method는 어떤 요청을 받을지 정의(GET,POST, PUT 등)한다.

 

 

 


 

 

 

 

 

@RequestMapping 코드 예시

@RequestMapping 클래스 레벨에서 요청

@RestController
@RequestMapping(value = "/hello", method = RequestMethod.POST)
public class RegisterController {

...

}
위의 코드처럼 클래스 레벨에서 @RequestMapping을 정의할 경우, method = RequestMethod.POST로 인해 컨트롤러 안의 모든 메서드가 POST 요청만 허용하게 된다. 만약 GET, PUT, DELETE 등 다른 방식의 요청이 들어오게 되면 405(Method Not Allowed) 에러가 발생한다. 그래서 쓸 수는 있지만 다른 방식을 허용하지 않는 단점 때문에 실제로 코드에 적용하는 일은 없다고 보면 된다.

 

 

@RequestMapping 메서드 레벨에서 요청

@RestController
public class RegisterController {

    @RequestMapping(value = "/register", method = RequestMethod.POST)
    public String register() {
        ...
    }
}
메서드 단에서 @RequestMapping을 정의했다. register 메서드는 엔드포인트가 register로 끝나며 POST 방식의 요청만 허용한다. 다른 방식의 요청이 들어오면 405 에러가 발생한다.

 

 

Spring이 권장하는 방식

@RestController
@RequestMapping("/hello")
public class RegisterController {

    @PostMapping("/register")
    public String register() {
        ...
    }

    @GetMapping("/check")
    public String check() {
        ...
    }
}
한 페이지에서 회원가입 버튼도  있고, 확인 버튼도 있다고 가정해보자. 이때 회원가입 버튼은 POST 방식으로 받아야하고, 확인 버튼은 GET 방식으로 받아도 충분하다.

@RequestMapping을 메서드 레벨에 써주면, 아래와 같은 코드가 완성될 것이다.
    @RequestMapping(value = "/hello/register", method = RequestMethod.POST)
    public String register() {
        ...
    }

    @RequestMapping(value = "/hello/check", method = RequestMethod.GET )
    public String check() {
        ...
    }​


중복 코드가 많이 발생하는 걸 확인할 수 있다. 거기다 공통경로를 수정하게 된다면 메서드를 모두 방문하여 고쳐줘야하는 번거로움이 발생한다.

그래서 클래스 레벨에서 @RequestMapping으로 공통 경로만 작성하고, 메서드 레벨에서 어떤 행위를 하는지만 정의하는 걸 추천한다. 

 

 

 

 


 

 

 

아래에 출처를 남겨두겠습니다.
블로그엔 제가 최대한 이해한 내용까지만 적는거라
출처에 들어가시면 더 많은 내용이 있어 공부하시는데 도움되실겁니다.

 

🪽

틀린 내용이 있다면 댓글로 알려주세요

 

 

 


 

 

- @RequestMapping

 

[Spring] @RequestMapping이란?

우리는 특정 uri로 요청을 보내면 Controller에서 어떠한 방식으로 처리할지 정의를 한다. 이때 들어온 요청을 특정 메서드와 매핑하기 위해 사용하는 것이 @RequestMapping이다. @RequestMapping에서 가장

mungto.tistory.com

 

 

- @RequestMapping

 

[Spring] @RequestMapping이란 그리고 동작 방식

이번 글에서는 Spring 개발 시 자주 사용하는 @RequestMapping의 개념 및 동작 방식에 대해 정리할 것입니다. [목차] 1. @RequestMapping이란? 2. @RequestMapping 작성 예시 3. @RequestMapping 동작 방식 1. @RequestMapping

backendcode.tistory.com