Springmvc中的responsebody

作用:将返回对象写到response的body区,通常用来返回json或xml数据;如果不加responsebody,默认返回的是跳转路径

responsebody的作用相当于调用了response.getWriter().write(...)方法


对于返回多个值,ResponseBody返回的类型可以是List,也可以是Map。
@ResponseBody的深层理解:调用Response对象的write()方法将值写入客户端 若返回的是Java对象 springmvc会有一个默认行为返回对应的json数据(对应的content-type是application/json) 而若返回的是字符串 客户端可以直接解析(对应的content-type是text-plain)


举例:
@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.getWriter.write(JSONObject.fromObject(user).toString());
  }

猜你喜欢

转载自www.cnblogs.com/yuanfei1110111/p/10137012.html