一、前端
@responseBody註解的做用是就是將controller層返回的對象經過適當的轉換器轉換爲指定格式(JSON)後寫入到HTTP response body中。json
在使用註解後不會再走視圖處理器,而是直接將數據寫入到輸入流中,他的效果等同於經過response對象輸出指定格式的數據。app
缺點:返回時,若是與前端編碼格式不一致,很容易致使亂碼。編碼
二、 對象
返回對象:get
@RequestMapping("/login",method=RequestMethod.POST,produces= {"application/json;charset=UTF-8"})
@ResponseBody
public User login(User user){//User字段:userName pwdit
User user = new User();
user.setUserName("xxx");
user.setPwd("xxx");
return user;
}
前臺接收數據:'{"userName":"xxx","pwd":"xxx"}'
效果等同於以下代碼:
@RequestMapping("/login")
public void login(User user, HttpServletResponse response){
response.getWriter.write(JSONObject.fromObject(user).toString());
}io