RequestMapping 애노테이션을 이용해서 처리할 요청 경로 지정
웹 브라우저의 요청을 처리할 메서드 구현
뷰페이지 이름 = prefix + 요청처리 메소드 반환값 + suffix
@RequestMapping(“/url”)
@RequestMapping({“/url1”, ”/url2”})
@RequestMapping(“/url”)
public class Controller{
@RequestMapping(“/suburl”)
public String method(){}
}
@RequestMapping(value=“/url”, method=RequestMethod.POST)
.GET)
@RequestMapping(“/url/{suburl}”)
public String method(@PathVariable String suburl)
(@PathVariable(“suburl”) String sUrl) //파라미터 값과 같지 않을때
- HttpServletRequest 이용
- @RequestParam 이용한 파라미터 전달
1) @RequestParam(“id”) String userId
2) @RequestParam(value=“id”, required=false) String id)
3) @RequestParam(value=“id”, defaultValue=“”) String id)- VO객체를 이용한 데이터 전달
-public String method(MemberVO vo)- @ModelAttribute 이용한 객체 전달
-public String method(@ModelAttribute(“mvo”) MemberVO vo)- 쿠키전송
-@CookieValue(value=“c”, required=false) Cookie cookie- HttpSession 이용
- HttpServletRequest 이용
- Model 클래스를 이용한 데이터 전달
- ModelAndView 클래스를 이용한 데이터 전달
return “main”;
@RequestMapping(“/redirect”)
public String method(){
return “redirect : /main”;
}
or
return “redirect : http://localhost:9090/contextPath/main”;
<mvc:resoures mapping="매핑할 경로" location="실제 경로"/>
(< mvc:resources> 또는 <mvc:default-servlet-handler/> 사용)
HTTP 기반 API가 증가하고, REST API 방식을 선호함에 따라 XML/JSON 데이터 형식의 요청/응답 데이터를 처리하는 방법이 중요하게 됐다.
@RequestBody, @ResponseBody는 이러한 XML/JSON 데이터 형식의 요청
/응답 데이터를 쉽게 처리할 수 있는 방식을 제공한다.
@RequestBody
- HTTP 요청의 body 내용을 자바 객체로 매핑하는 역할을 한다.
@ResponseBody
- 자바 객체를 HTTP 요청의 body 내용으로 매핑하는 역할을 한다
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>버전</version>
</dependency>
@RequestBody Map<String,String> map
@RequestBody VO객체 vo
@RequestBody String body
의존성 주입 (json 예제)
사용방법 (해당 URL 함수에 설정, return 설정)
@RequestMapping(“/resbody-test”)
@ResponseBody
public 객체 responseBodyTest(){
객체 변수명 = new 객체();
return 변수명;
}
※ REST API 방식의 개발이 증가하면서 @ResponseBody를 적어줄 필요 없이 Controller 자체를
@RestController로 설정 가능