过氏分享 http://blog.sciencenet.cn/u/xirongguo

博文

关于rest的json回传问题

已有 2148 次阅读 2016-9-28 17:22 |个人分类:系统工程|系统分类:科研笔记| 浏览器正常, 后台404

最近碰到很奇怪的问题,一个rest的url在浏览器和模拟器中访问正常,但通过java后台访问总是404,经过排查,发现返回类型为String(json格式)的controller不能通过@ResponseBody注解,这样后台访问时会去查找对应的页面文件从而导致404错误,需要改成void类型,同时通过HttpServletResponse返回,具体解释如下:

MappingJacksonHttpMessageConverter调用objectMapper.writeValue(OutputStream stream, Object)方法,使用@ResponseBody注解返回的对象传入Object参数内。若返回的对象为已经格式化好的json串时,不使用@RequestBody注解,而应该这样处理:

1、response.setContentType("application/json; charset=UTF-8");

2、response.getWriter().print(jsonStr);

直接输出到body区,然后的视图为void




https://blog.sciencenet.cn/blog-427394-1005606.html

上一篇:前端优化总结
下一篇:IOS的Websocket探究
收藏 IP: 118.194.241.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-3-19 16:21

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部