最近开始了一个web项目,深深感觉到web方面知识的混杂,越来越明白java为什么可以流行这么多年了,库啊,框架啊,一抓一大把,要多方便有多方便,开发效率提升太高了。
最初使用SpringMVC时,为其ModelAndView可以直接返回页面和数据感觉爽到不行,但是当只想返回数据而不返回页面时,该怎么办呢,难道还要每次自己进行json格式转化吗,太麻烦了。
用ModelAndView显然不行,因为其必须要附带视图页面,如果没有,则会报下面错误。
怎么办呢,我们可以使用@ResponseBody注解,方便的返回json数据
它会将内容或对象进行合适的格式转换作为 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格式的转化