인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

rrr6964님의 프로필 이미지
rrr6964

작성한 질문수

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

GetMapping 경로 설정

작성

·

27

0

프로젝트를 따로 만들면서 강의 들었던 내용을 참고하면서 혼자 해보는중입니다.

근데 컨트롤러 경로 설정할때 /add 는 어디에도 없는데 왜 경로를 그렇게 했는지 궁금해서 작성합니다.

컨트롤러 최상위는

@Controller @RequestMapping("/basic/items") @RequiredArgsConstructor

내부 컨트롤러는

@GetMapping("/add") public String addForm() { return "basic/addForm"; }

html 경로는

/resources/templates/basic/addForm.html `

인데

add 의 의미가 요청/응답 가상의 이름인지 아니면 제가 못찾은 경로의 이름인지 궁금합니다.

 

 

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. rrr6964님.

스프링 MVC에서는 컨트롤러의 경로 설정은 애플리케이션의 URL 구조를 정의하는 중요한 부분입니다. 질문하신 내용에서 @GetMapping("/add") 부분에 대해 설명드리겠습니다.

  1. 컨트롤러 매핑의 의미:

    • @RequestMapping("/basic/items"): 이 어노테이션은 클래스 레벨에서 사용되어 해당 컨트롤러가 /basic/items 경로로 들어오는 모든 요청들을 처리함을 나타냅니다.
    • @GetMapping("/add"): 이는 해당 컨트롤러로 들어오는 /basic/items/add 요청을 처리하는 메서드임을 나타냅니다. 즉, /basic/items라는 기본 경로에 /add가 추가되어 최종적으로 /basic/items/add 경로가 됩니다.
  2. “add”는 요청/응답의 가상 이름:

    • add는 실제 파일 경로나 디렉토리와 관계없이, 요청을 구분하기 위해 URL에서 사용하는 논리적인 이름입니다. 이는 클라이언트가 특정 동작(예: 아이템 추가 폼을 보기 위해 페이지를 요청)을 수행하기 위해 사용합니다.
  3. HTML 경로와의 관련성:

    • return "basic/addForm";은 논리적인 뷰 이름을 반환하며, 스프링 부트 템플릿 리졸버(Resolver)에 의해 실제 HTML 파일 경로로 매핑됩니다. 일반적으로 src/main/resources/templates 디렉토리 내의 basic/addForm.html 파일을 가리킵니다.

따라서, 컨트롤러의 @GetMapping("/add")은 특정 경로와의 매핑 목적이며, 이를 통해 사용자가 해당 URL로 접근했을 때 어떤 동작(예: 특정 뷰를 렌더링)을 수행할지를 지정하게 됩니다.

이해에 도움이 될만한 유사한 질문은 아래 URL에서 더 찾아보실 수 있습니다:
- GetMapping에대해서 질문
- RequestMapping에서 / 유무

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

rrr6964님의 프로필 이미지
rrr6964

작성한 질문수

질문하기