开发者社区> 问答> 正文

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

蛮大人123 2016-02-22 11:11:38 2642

前台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

JSON 前端开发 Java fastjson 数据格式 Spring
分享到
取消 提交回答
全部回答(1)
  • 蛮大人123
    2019-07-17 18:46:29

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

    0 0

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题