@ResponseBody註解的作用
阿新 • • 發佈:2018-11-20
1、
@ResponseBody註解的作用是將controller的方法返回的物件 通過適當的轉換器 轉換為指定的格式之後,寫入到response物件的body區(響應體中),通常用來返回JSON資料或者是XML。
資料,需要注意的呢,在使用此註解之後不會再走檢視處理器,而是直接將資料寫入到輸入流中,它的效果等同於通過response物件輸出指定格式的資料。
這裡還要著重強調一下,要通過@ResponseBody 註解 將返回的json字串放入響應體中,然後在前臺js才能拿到json字串進行解析,如果不加,響應體中就沒有放入json字串,前臺自然是拿不到資料的,希望大家別理解錯。
2、
@RequestMapping("/login")
@ResponseBody
public User login(User user){
return user;
}
User欄位:userName pwd;
那麼在前臺接收到的資料為:'{"userName":"xxx","pwd":"xxx"}'
效果等同於如下程式碼:
@RequestMapping("/login")
public void login(User user, HttpServletResponse response){
//通過response物件輸出指定格式的資料
response.getWriter.write(JSONObject.fromObject(user).toString());
}