본문 바로가기

프로그래밍/Web

스프링 요청/응답

 

컨트롤러 선언 : 스프링 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