BackEnd/Java Spring
Java Spring - @RequestBody, @ResponseBody 정리
최데브
2020. 4. 14. 01:30
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로 바인딩
}
}