开发者社区> 问答> 正文

@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()就好了。这是前端的请求,
screenshot
是返回的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
screenshot

展开
收起
蛮大人123 2016-02-22 11:11:38 6228 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

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

    2019-07-17 18:46:29
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载