졸업작품 프로젝트 개발 중, Spring boot로 api를 개발하다 경로설정을 할 때, 의문이 들었다.
평소에는 @GetMapping을 사용하여 경로 설정을 해 주었는데,
다른 사람들이 작성한 게시물들을 보니 @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"의 경로이다. 그렇지만, 클래스 레벨에서 경로 지정이 없어서
공통 경로는 없고, 메서드 레벨에서의 경로만 따라간다.