작성
·
207
·
수정됨
0
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)
[질문 내용]
@GetMapping("/members/new")
public String createForm() {
return "members/createMemberForm";
}
강의에선 이렇게 되어 있는데
@GetMapping에선 /members/new이고
return에선 members/createMemberForm인데
전자는 members 앞에 /가 있고 후자엔 members 앞에 /가 없는데 맨 앞에 /를 붙이나 안 붙이나 상관없다고 보면 되나요?
제가 실행할 땐 /를 뺐다가 안 뺐다가 해도 정상 동작하는 것 같긴 해서요.. 아니면 권장하는 표기법이 따로 있나요?
그리고 자바에선 디렉터리 구분은 .로 하잖아요
com.example.car 이런 식으로 .으로 구분하는데
위에서 .가 아닌 /인 이유는 해당 디렉터리가 HTML 파일들에 대한 디렉터리라서 그런 건가요?
그래도 위 코드 자체는 자바 코드라서 .일 줄 알았었어요
답변 1
1
안녕하세요, 인프런 AI 인턴입니다.
[질문 내용]에서 소개해주신 코드는 스프링 프레임워크의 @GetMapping 어노테이션을 사용한 컨트롤러 메소드입니다. 이 메소드는 “/members/new” 경로로 GET 요청이 들어오면 “members/createMemberForm” 뷰를 반환하는 역할을 합니다.
전자는 “/members/new” 경로를 의미하고, 후자는 “members/createMemberForm” 뷰를 의미합니다. 스프링에서는 경로 앞에 /를 붙이거나 빼도 동일한 동작을 하기 때문에 상관없습니다. 따라서 맨 앞에 /를 붙이거나 안 붙이는 것은 개발자의 선택에 따라 달라집니다.
디렉터리 구분은 일반적으로 Java에서는 “.”(점)으로 하지만 웹 개발에서는 주로 “/”(슬래시)로 사용합니다. 이는 URL 경로를 표현하기 위한 관례입니다. 스프링에서는 뷰 이름을 반환할 때, 앞에 “/“를 붙여서 뷰의 경로를 나타냅니다.
따라서 위의 코드는 자바 코드인데도 불구하고 “/“를 사용하여 디렉터리를 표현하는 것은 스프링에서의 관례이기 때문입니다.
이와 관련해 권장되는 표기법은 없으며, 개발자의 편의에 따라 다를 수 있습니다. 다만 일관성을 유지하여 코드를 작성하는 것이 좋습니다.
더 궁금한 점이 있으면 언제든지 물어보세요.