1. @RequestBody
ajax 를 사용할때 같이 쓰는데 이때
JSON.stringify 함수를 이용하여 데이터를 보내고
contentType을 "application/json"으로 설정해주어야 한다.
즉 ajax로 보낸 json 객체의 정보를 스프링에서 받아올때 사용한다.
@Controller
public class MainController {
@ResponseBody
@RequestMapping("/ex")
public void init(@RequestBody User user) {
user.getName();
user.getAge();
}
}
스프링에서는 이렇게 받을 수 있다.
이때 User 클래스의 프로퍼티는 전송된 JSON 객체와 프로퍼티명이 일치해야하며 getter와 setter가 있어야한다.
2. @ResponseBody
위와는 반대로 json 객체의 정보를 받는게 아닌 ajax에 전달해줄때 사용한다.
@Controller
public class MainController {
@ResponseBody
@RequestMapping("/test")
public HashMap<String, Object> init(@RequestBody HashMap<String, Object> map) {
map.put("phone", "0000-0000");
return map;
// {"name": "kim", "age": 30, "phone": "0000-0000"}가 data로 바인딩
}
}
반응형
'BackEnd > Java Spring' 카테고리의 다른 글
Spring boot 의 구조 (0) | 2020.05.23 |
---|---|
Spring annotation @Component, @Configuration (0) | 2020.05.23 |
Spring IoC 컨테이너 , 빈 , 의존성 주입 개념정리 (2) | 2020.05.05 |
스프링 동작 정리-1 (0) | 2020.05.05 |
Spring Framework 의 IoC 컨테이너 / 빈(Bean) / 의존성 주입(DI)개념정리 (0) | 2020.04.14 |