인프런 커뮤니티 질문&답변

김남현님의 프로필 이미지
김남현

작성한 질문수

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

회원 웹 기능 - 등록

경로가 헷갈립니다

작성

·

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 애노테이션을 통해서 간단하게 클래스 레벨에 경로를 붙이는 방법에 대한 예제

실무 소스코드에서도 보았던 클래스 경로 설정 방법에 대한 설명

김남현님의 프로필 이미지
김남현

작성한 질문수

질문하기