• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

경로가 헷갈립니다

20.07.29 08:25 작성 조회수 97

2

@GetMapping("/hello") 와

@GetMapping("hello")는 무슨 차이점이 있나요??

저기 "" 안에 들어가는 경로는 무슨 기준으로 경로를 찾는건가요?

제가 알기로는 경로가 서블릿 경로도 있고 클래스 경로도 있고 자원경로(?)도 있다는데 너무 헷갈려요 ㅠㅠ

답변 3

·

답변을 작성해보세요.

3

김남현님의 프로필

김남현

질문자

2020.07.30

감사합니다 해당 강의에서 참고하겠습니다

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

루시님의 프로필

루시

2020.08.20

ㄷㅅㅂㄱ

클래스 경로 매핑

@RequestMapping 애노테이션을 통해서 간단하게 클래스 레벨에 경로를 붙이는 방법에 대한 예제

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