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

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

gmldnjs0402님의 프로필 이미지
gmldnjs0402

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

텍스트 - text, utext

GetMapping에대해서 질문

작성

·

239

0

엄청 기본적인건데...이전 강의노트를 찾아봐도 내용 정리가 안되서 질문합니다.

@Controller
@RequestMapping("/basic")
public class BasicController {

    @GetMapping("text-basic")
    public String textBasic(Model model) {
        model.addAttribute("data", "Hello Spring!");
        return "basic/text-basic";
    }

    @GetMapping("text-unescaped")
    public String textUnescape(Model model) {
        model.addAttribute("data", "Hello <b>Spring!</b>");
        return "basic/text-unescaped";
    }
}

여기서 RequestMapping 이 basic 폴더를 매핑해주는거고

GetMapping 은 /basic/ 에 있는 파일?과 매핑해주는게 맞나요??

 

추가적으로 return 하는게 view 인걸로 아는데 model 값을 추가해서 전달해주기 위해 view 를 리턴하는게 맞는지 질문드립니다.

 

 

답변 1

0

안녕하세요. gmldnjs0402님, 공식 서포터즈 코즈위버입니다.

@RequestMapping과 @GetMapping 은 디렉토리의 개념보다는 사용자가 요청한 URL 패턴과 매칭합니다.

 

@GetMapping("/basic/text-basic") 같은 경우에는 메서드 단위로 URL 패턴을 매칭합니다.

@RequestMapping("/basic") 의 경우 클래스 내에 있는 모든 메서드에 공통으로 적용되는 패턴을 의미합니다. 그래서 @RequestMapping에 "/basic" 을 설정할 경우 사용자의 메서드의 매핑에서는 /basic 을 생략할 수 있습니다.

 

스프링 프레임워크에서는 뷰로 사용할 파일을 문자열(String) 형태로 반환할 수 있습니다. 이때의 /basic/text-basic 의 경우에는 디렉토리와 파일명을 지정해준 것이지요. 이 파일을 렌더링할 때 Model model에 담아두었던 값을 사용할 수 있습니다.

 

감사합니다.

gmldnjs0402님의 프로필 이미지
gmldnjs0402

작성한 질문수

질문하기