[개발] SpringBoot에서 @RequestMapping과 @GetMapping의 차이

이나형·2024년 10월 1일
0

개발공부

목록 보기
3/3

졸업작품 프로젝트 개발 중, Spring boot로 api를 개발하다 경로설정을 할 때, 의문이 들었다.


평소에는 @GetMapping을 사용하여 경로 설정을 해 주었는데,
다른 사람들이 작성한 게시물들을 보니 @RequestMapping을 사용하여 경로설정을 해준 사람들도 꽤 보였다.


그래서 어떤 차이가 있는지 알아보았다.


클래스 레벨에서 @RequestMapping 사용


@RestController
@RequestMapping("/api")
public class SimpleController {

    @GetMapping("/test")
    public String testEndpoint() {
        return "Hello, Postman!";
    }
}

이 코드의 경로는 "/api/test"이다.
그렇지만 공통경로는 /api이며, 메서드 레벨에서
/api/test 경로로 요청이 들어왔을 경우, testEndPoint() 메서드가 실행되는 것이다.



메서드 레벨에서 경로 지정


@GetMapping("/api/test") 
public String SimpleController() {
    return "This is getRestaurants";
}

이 코드도 위와 같은
"/api/test"의 경로이다. 그렇지만, 클래스 레벨에서 경로 지정이 없어서
공통 경로는 없고, 메서드 레벨에서의 경로만 따라간다.



참고: 스프링 공식 홈페이지


출처: 스프링 공식 홈페이지- 매핑요청

profile
정도를 걷는 개발자

0개의 댓글