1. 程式人生 > >@ResponseBody註解的作用

@ResponseBody註解的作用

 

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());
  }