반응형

@RequestMapping의 변화

 

  @Controller 어노테이션은 추가적인 속성을 지정할 수 없지만, @RequestMapping의 경우 몇가지 속성을 추가할 수 있다.

이중에서도 가장 많이 사용하는 속성이 method 속성이다. Method 속성은 흔히 GET 방식, POST방식을 구분해서 사용할 때 이용한다.

 

스프링 4.3 버전부터는 이러한 @RequestMapping을 줄여서 사용할 수 있는 @GetMapping, @PostMapping이 등장하는데 축약형의 표현이므로, 아래와 같이 비교해서 학습하는 것이 좋다.

 

package org.zerock.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import lombok.extern.log4j.Log4j;



@Controller
@RequestMapping("/sample/*")
@Log4j
public class SampleController {
	
	@RequestMapping("")
	public void basic() {
		log.info("basic.....");
	}
	
	@RequestMapping(value="/basic", method = {RequestMethod.GET, RequestMethod.POST})
	public void basicGet() {
		log.info("basic get..........");
	}
	
	@GetMapping("/basicOnlyGet")
	public void basicGet2() {
		log.info("basic get only get..........");
	}
}

@RequestMapping은 GET, POST방식 모두를 지원해야 하는 경우에 배열로 처리해서 지정할 수 있다. 일반적이 경우에는 GET, POST방식만을 사용하지만 최근에는 PUT, DELETE방식등도 점점 많이 사용하고 있다. @GetMapping의 경우 오직 GET 방식에만 사용할 수 있으므로, 간편하기는 하지만 기능에 대한 제한은 많은 편이다.

반응형
블로그 이미지

꽃꽂이하는개발자

,