RESTful(4) - @RestController 사용하기 (단순문자열, 객체타입, List타입, Map타입)
2019. 11. 26. 11:06ㆍ🔴 Spring
300x250
@RestController
→ @Responsebody없이도 처리됨 (생략)
@Controller와는 다르게 @RestController는 리턴값에 자동으로 @ResponseBody를 붙게되어 HTTP 응답데이터(body)에 자바 객체가 매핑되어 전달 된다고 한다.
( ※ @Controller인 경우에는 @ResponseBody를 적어줘야 합니다. )
1. 단순 문자열
문자열 데이터 → 기본적으로 text/html 타입으로 처리됨, 일반 문자열이 반환
<RestAPIController.java>
package com.bitcamp.mvc;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
@RestController
//@RequestMapping("/restapi/{id}")
public class RestAPIController {
// @GetMapping(value = "/restapi/hello") -> method방식이 GET으로 정해져있는 것
@RequestMapping(name = "/restapi/hello", method = RequestMethod.GET)
public String hello() {
return "hello";
}
}
2. 객체 타입
// 객체 타입
@RequestMapping("/restapi/login")
public Login login() {
Login login = new Login();
login.setuId("cool");
login.setuPw("123456");
return login;
}
3. list 방식
// list방식
@RequestMapping("/restapi/loginList")
public List<Login> loginList() {
List<Login> list = new ArrayList<Login>();
Login login = new Login();
login.setuId("cool");
login.setuPw("123456");
list.add(login);
login = new Login();
login.setuId("hot");
login.setuPw("789");
list.add(login);
return list;
}
4. map 방식
// map방식
@RequestMapping("/restapi/loginMap")
public Map<String, Login> loginMap() {
Map<String, Login> maps = new HashMap<String, Login>();
Login login = new Login();
login.setuId("cool");
login.setuPw("123456");
maps.put("1", login);
login = new Login();
login.setuId("hot");
login.setuPw("789");
maps.put("2", login);
return maps;
}
300x250
'🔴 Spring' 카테고리의 다른 글
RESTful(6) - @ResponseBody써서 Json형태 객체로 반환해주기 + 상태값 설정 (0) | 2019.11.26 |
---|---|
RESTful(5) - @JsonIgnore (0) | 2019.11.26 |
RESTful(3) - JAXB2 API이용해서 XML처리하기 (0) | 2019.11.25 |
RESTful(2) - XML/JSON 변환처리(@RequestBody, @ResponseBody, HttpMessageConverter) (0) | 2019.11.25 |
RESTful(1) - @PathVariable 사용하기 (0) | 2019.11.25 |