일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 상속
- 야구게임
- 가변인자
- while
- 추상클래스
- full text indexing
- 자바 야구게임
- 상속예제
- 형변환
- IBatis procedure
- 단축키
- Full text
- 페이징
- Login with OAuth Authentication
- angular2
- 25가지 효율적인 sql작성법
- jquery
- Validations
- 전자정부
- 이클립스
- 스프링
- 전체
- 업캐스팅
- 다형성
- 다운캐스팅
- 자바
- 전체텍스트
- 로또
- Random
- Today
- Total
nalaolla
@RequestMapping 본문
@RequestMapping
관련 문서
RequestMapping annotation은 url을 Controller의 method와 mapping 시켜주는 역할을 한다.
class에 하나의 url mapping을 할 경우, class위에 @RequestMapping("/url")을 지정하며, GET 또는 POST 방식 등의 옵션을 줄 수 있다.
해당되는 method가 실행된 후, return 페이지가 따로 정의되어 있지 않으면 RequestMapping("/url")에서 설정된 url로 다시 돌아간다.
options
value
"value='/getMovie.do'"와 같은 형식의 매핑 URL 값이다. 디폴트 속성이기 때문에 value만 정의하는 경우에는 'value='은 생략할 수 있다.
@RequestMapping(value={"/addMovie.do", "/updateMovie.do" }) public String myMethod() { // "/addMovie.do", "/updateMovie.do" 두 URL 모두 처리한다. } | cs |
method
GET, POST, HEAD 등으로 표현되는 HTTP Request method에 따라 requestMapping을 할 수 있다. method=RequestMethod.GET' 형식으로 사용한다. method 값을 정의하지 않는 경우 모든 HTTP Request method에 대해서 처리한다. value 값은 클래스 선언에 정의한 @RequestMapping의 value 값을 상속받는다.
@RequestMapping(method = RequestMethod.POST) public String myMethod() { // ... } | cs |
params
HTTP Request로 들어오는 파라미터 표현이다. 'params={"param1=a", "param2", "!myParam"}' 로 다양하게 표현 가능하다.
HTTP Request에 param1과 param2 파라미터가 존재해야하고 param1의 값은 'a'이어야하며, myParam이라는 파라미터는 존재하지 않아야한다. 또한, value 값은 클래스 선언에 정의한 @RequestMapping의 value 값을 상속받는다.
@RequestMapping(params = {"param1=a", "param2", "!myParam"}) public String myMethod() { // ... } | cs |
headers
HTTP Request의 헤더 값이다.'headers="someHader=someValue"', 'headers="someHader"', 'headers="!someHader"' 로 다양하게 표현 가능하다. Accept나 Content-Type 같은 헤더에 대해서 media type 표현 시 '*' 도 지원한다.
HTTP Request에 Content-Type 헤더 값이 "text/html", "text/plain" 모두 매칭이 된다. Type-Level, Method-Level에서 모두 사용할 수 있는데, Type-Level에 정의된 경우, 하위의 모든 핸들러 메서드에서도 Type-Level에서 정의한 헤더값 제한이 적용된다.
@RequestMapping(value="/movie.do", headers="content-type=text/*") public String myMethod() { // ... } | cs |
produces: TODO
@RequestMapping(value="...", produces = "application/json") @RequestBody public HashMap<String, String> testMethod(Model model) { HashMap<String, String> map = new HashMap<String, String>(); map.put("code", "0"); return map; } | cs |
example
@Controller @RequestMapping("/test/*") public class SampleController1 { @RequestMapping(method=RequestMethod.GET, value="go") public returntype getMethodName() { // ... } @RequestMapping(method=RequestMethod.POST, value="go2") public returntype getMethodName2() { // ... } } @Controller @RequestMapping(value="/main.action") public class SampleController2 { @RequestMapping(method=RequestMethod.GET) public String method() { return ".mainLayout"; } } @Controller public class SampleController3 { @RequestMapping(value="/main.action") public returntype m01() { // ... } } | cs |
'SPRING' 카테고리의 다른 글
@ModelAttribute (0) | 2016.05.31 |
---|---|
@Controller (0) | 2016.05.31 |
Spring Framework: annotation 정리 (0) | 2016.05.31 |
spring batch framework reference자료 (0) | 2016.05.26 |
다국어 처리 - localeResolver, messageSource (0) | 2016.05.11 |