@ResponseBody与response.getWriter .write()区别

前台ajax提交一个请求,spring mvc中用注解@ResponseBody与response.getWriter .write()有什么区别呢?当前项目网页版用@ResponseBody没问题,但是wap的用@Response的就报异常org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation,而用response.getWriter .write()就没问题。那个方法网页版用着没问题,浏览器直接调用也没问题,但是手机类型调用就走到异常了,改用response.getWrite.write()就好了。这是前端的请求,图片描述求解释。。不胜感激,都是返回的string格式的json串,用的alibaba的fastjson。public static String createOKMsg(Object ro) {
ReturnMsg okMsg = new ReturnMsg();
okMsg.setCode(Constant.CORRECT_CODE);
okMsg.setContent(ro);
return JSONObject.toJSONString(okMsg, SerializerFeature.WriteMapNullValue);
}前端用的是zepto.js图片描述

阅读 9.2k
1 个回答
新手上路,请多包涵

我的理解是在springmvc中返回值是String时,如果你不加@ResponseBody的话你返回的字符串就会找这个想对应的页面,如果找不到应该会报404错误,如果加上这个注解的话,返回的就是json字符串,还是返回你请求过来的页面

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏