컨트롤러 선언 : 스프링 4.0 부터 @RestController 어노테이션을 사용하면
RESTful 컨트롤러로 인식되어, 요청과 응답이 간소화된다.
@RestController 는 @Controller, @ResponseBody가 합쳐진 것으로 자동으로
모든 메쏘드에 @ResponseBody가 포함되도록 한다.
뷰를 혼합해 사용하는 경우는 @Controller 로 선언후에
필요한 메쏘드에 @ResponseBody 를 선언해준다.
@RestController
@RequestMapping(value="/root)
@RequestMapping(value="/hello",method=RequestMethod.GET)
@RequestMapping(method=RequestMethod.POST)
@RequestParam(value="key",required=false,defaultValue="value")
요청 데이터
{"key1":"value1","key2":"value2"}
응답 데이터
{"result1":"value1","result2":"value2"}
요청 데이터에 대한 클래스
public class RequestData {
private String key1;
private String key2;
.
.
}
응답 데이터에 대한 클래스
public class ResultData {
private String result1;
private String result2;
.
.
}
@RequestMapping("/url",method=RequestMethod.POST)
public ResultData getValue(@RequestBody RequestData data) {
ResultData result = new ResultData();
.
.
return result;
}
RequestMethod.GET 요청 : ex) http://host/url?key=value
@RequestMapping("/url",method=RequestMethod.GET)
public ResultData getValue(
@RequestParam(value="key",required=false,defaultValue="defaultKey") String key) {
ResultData data = new ResultData();
.
return result;
}
URL 을 인자로 받기
RequestMethod.PUT : ex) http://host/myapp/12345/hello
@RequestMapping( value="/{app}/{userid}/{data}", method=RequestMethod.PUT
public void test ( @PathVariable("app") String app ,
@PathVariable("userid") Long userId,
@PathVariable("data") String data ) {
}
'프로그래밍 > Web' 카테고리의 다른 글
javascript 모듈화 패턴 (0) | 2018.07.26 |
---|---|
VSCode 웹 디버깅 (0) | 2018.07.19 |
openssl (0) | 2018.07.17 |
Windows 레드마인 설치(Bitnami) (1) | 2017.09.22 |
Gradle Wrapper (0) | 2017.03.06 |
JPA 쿼리 이것저것 (0) | 2017.02.22 |
[spring] 프로퍼티 값 읽기 (0) | 2017.02.21 |
[spring] 핸들러 인터셉터 (0) | 2017.01.24 |
[spring] Spring boot 기본 설정 (0) | 2017.01.24 |
[spring] batch 작업관련 요소들 (0) | 2012.09.28 |