반응형
RequestMapping이란?
- 말 그대로, URI를 컨트롤러 or 컨트롤러 메소드에 매핑하는 데 사용됨.
- 그럼, 어느 레벨에서 수행할 수 있을까요?
- 정답은
- 클래스
- 메소드
- 정답은
- 그리고, 선택적 메소드 파라미터를 사용하면 메소드를 특정 요청 메소드에 매핑할 수 있음.
- GET, POST 등등
- 추가적으로 아래와 같은 요청 메소드별 전용 어노테이션도 존재함(스프링 4.3 이후 도입)
-
요청메소드 애노테이션 비고 POST @PostMapping GET @GetMapping DELETE @DeleteMapping PUT @PutMapping - 설명
- 위의 어노테이션을 사용하면 핸들러 메소드를 조금 더 간결하게 코딩하게 해줌.
- 예시
- 설명
-
- 전용 어노테이션을 아래와 같이 사용해도 위와 동일함
그럼, RequestMapping 요청에 대한 주요 3가지 예시를 소개해볼께요.
- 예시1) 메소드에 하나의 RequestMapping 만 있는 경우
- 설명
- userInfo 메소드에는 URI(/userinfo)에 GET / POST 및 기타 등등 요청 타입에 매핑됨.
- 예시2) RequestMapping 메소드에 RequestMethod.GET 이 정의 되어 있을경우
- 설명
- userInfo 메소드에는 URI(/userinfo)에 GET 요청만 매핑됨.
- 예시3) 클래스 / 메소드에 RequestMapping 메소드가 있을 경우
- 설명
- userInfo 메소드에는 URI(/thubuser/userinfo)에 GET 요청만 매핑됨.
- 즉, 2가지 RequestMapping 메소드의 조합은 URI를 결정하는데 사용됨.
- userInfo 메소드에는 URI(/thubuser/userinfo)에 GET 요청만 매핑됨.
그럼, RequestMapping 관련 주요 어노테이션에 대해서 알아볼까요?
- 주요 어노테이션 정리
-
어노테이션 설명 비고 @RequestParam HTTP 요청 파라미터에 액세스하기 위해 사용. @RequestHeader HTTP 요청 헤더에 액세스하기 위해 사용 @SessionAttribute HTTPSession으로 부터 속성을 액세스하기 위해 사용 @RequestAttribute HTTP 요청 속성에 액세스하기 위해 사용 @PathVariable URI 템플릿
즉, 예를 들면, ./user/{userid}의 변수에 대한 액세스하기 위해 사용
-
그럼, RequestMapping 관련 주요 지원되는 리턴 타입에 대해서 알아볼께요.
- 주요 리턴 타입 정리
-
리턴타입 설명 비고 ModelAndView 객체에 Model 과 View 이름에 대한 참조가 포함됨. Model Model 만 반환됨.
- View 이름은 DefaultRequestToViewNameTranslator를 사용함.View 암묵적으로 정의된 Model 이 있는 View String 쀼 이름에 대한 참조 Map Model을 노출하는 간단한 Map
-
결론
- RequestMapping이란, URI를 컨트롤러 or 컨트롤러 메소드에 매핑하는 데 사용됨.
- RequestMapping 관련 주요 지원되는 리턴 타입은 아래와 같음.
- ModelAndView, Model, View, String, Map
- 오늘도 RequestMapping 관련 지식에 대한 마술(?) 한가지 획득완료! 감사합니다. ^^
300x250
'좋아하는 것_매직IT > 1.spring' 카테고리의 다른 글
13.Spring, 스프링MVC의 핵심개념 중 인터셉터(Interceptor)와 핸들러매핑(HandlerMapping)에 대해서 알아볼께요. (0) | 2021.01.02 |
---|---|
12.Spring, 스프링MVC의 핵심개념 중 뷰(View) 리솔루션 에 대해서 알아볼께요. (0) | 2021.01.02 |
10.Spring, 그럼 스프링 MVC 아키텍처가 어떻게 동작을 하는지 간단하게 알아볼까요? (0) | 2021.01.02 |
9.Spring, 자바(JAVA) 관련 웹 애플리케이션 아키텍처와 스프링 MVC에 대해서 알아보자. (0) | 2021.01.02 |
8.Spring, 스프링 빈(Bean) 스코프와 중요한 어노테이션에 대해서 알아봅시다. ^^ (0) | 2021.01.02 |