最初使用SpringMVC时,为其ModelAndView可以直接返回页面和数据感觉爽到不行,但是当只想返回数据而不返回页面时,该怎么办呢,难道还要每次自己进行json格式转化吗,太麻烦了。
用ModelAndView显然不行,因为其必须要附带视图页面,如果没有,则会报下面错误。
解决办法:@ResponseBody
我们可以使用@ResponseBody注解,方便的返回json数据 ,该注解用于将Controller的方法返回的对象,
根据HTTP Request Header的中的Accept属性,通过适当的HttpMessageConverter转换为指定格式后,写
入到Response对象的body数据区。它会将内容或对象进行合适的格式转换作为 HTTP 响应正文返回。
具体使用方法如下:
库依赖
<!-- json -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
</dependency>
xml配置
启动注解
<mvc:annotation-driven/>
使用方式
controller
@RequestMapping("c")
@ResponseBody
public String d()
{
HashMap s = new HashMap();
s.put("aaa", "你好啊");
return s;
}
效果
注意事项
返回的对象里的属性必须拥有get方法,因为要进行数据转化,直接返回string时,不会进行json格式的转化
---------------------
原文:https://blog.csdn.net/to_be_better/article/details/53657427
底层分析:https://blog.csdn.net/fw0124/article/details/48280083
http://www.cnblogs.com/fangjian0423/p/springMVC-xml-json-convert.html
https://my.oschina.net/lichhao/blog/172562