작성
·
141
2
@GetMapping("/hello") 와
@GetMapping("hello")는 무슨 차이점이 있나요??
저기 "" 안에 들어가는 경로는 무슨 기준으로 경로를 찾는건가요?
제가 알기로는 경로가 서블릿 경로도 있고 클래스 경로도 있고 자원경로(?)도 있다는데 너무 헷갈려요 ㅠㅠ
답변 3
3
3
안녕하세요. 김남현님^^
우선 둘은 차이점이 없습니다.
예를 들어서 http://localhost:8080/hello -> 이렇게 하면 hello라는 경로를 찾습니다. 이때 스프링에서는 "hello", "/hello" 둘다 같은 경로로 인식합니다.
서블릿 경로는 사실 최근 스프링 부트 애플리케이션에서는 잘 사용하지 않습니다.
클래스 경로는 간단하게 클래스 레벨에 경로를 붙일 수 있습니다.
http://localhost:8080/api/hello
@Controller
@RequestMapping("api")
class ApiController {
@GetMapping("hello")
public String hello() {}
}
이 예시를 보시면 클래스에 api가 있고, 메서드에 hello가 있습니다. 이것은 api/hello 이렇게 잡히게 됩니다. 그래서 http://localhost:8080/api/hello 이 경로에 매핑이 되어서 실행됩니다.
서블릿 경로나, 클래스 경로들은 추후 스프링 MVC 강의에서 정말 자세하게 설명드릴께요^^
감사합니다.
0
ㄷㅅㅂㄱ
클래스 경로 매핑
@RequestMapping 애노테이션을 통해서 간단하게 클래스 레벨에 경로를 붙이는 방법에 대한 예제
실무 소스코드에서도 보았던 클래스 경로 설정 방법에 대한 설명