inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

GetMapping 경로 설정

138

rrr6964

작성한 질문수 17

0

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

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

컨트롤러 최상위는

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

내부 컨트롤러는

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

html 경로는

/resources/templates/basic/addForm.html `

인데

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

 

 

spring mvc

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 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에서 / 유무

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

servlet과 container에 대한 질문입니다

0

24

1

api를 어느 컨트롤러에 작성해야하는지는 어떤 기준으로 해야하나요?

0

62

1

jsp 의존성 수정 요청

0

77

2

요즘 웹 서버가 주로 사용되는 이유는 SPA 구조 때문일까요 ?

0

142

1

save() 메서드 문의

0

66

1

절대 경로로 templates/basic 하위 파일 열면 css 적용 안되는 현상

0

99

1

request-body-json

0

83

2

MVC 패턴의 적용 단위

0

94

1

RequestMapping을 이용한 핸들러, 어댑터

0

118

2

save 후 결과화면

0

88

2

jsp를 이용한 view

0

97

1

application.properties에 debug 추가해도 결과가 똑같습니다.

0

177

1

수업 코드 제공 관련 문의

0

97

2

RequestMappingHandlerAdapter의 Controller 호출 과정

0

99

3

파일 오픈 시

0

68

1

스프링 배치 관련

0

77

1

@RequestParam의 defaultValue가 blank 값도 처리하는 지 여부

0

112

1

postman으로 /request-body-json-v1 호출시 500 error

0

94

1

프론트엔드와 백엔드의 mvc, rest api에 대한 질문

0

78

1

모델의 역할과 계층 분리에 대한 이해 차이 + 추가질문

0

111

1

console log 출력 관련 질문입니다.

0

74

1

애플리케이션이 실행 되지 않습니다 ㅠㅠㅠ

0

139

1

html 변경하는 부분 적용 문제

0

103

1

한글 깨짐

0

76

2