由于本人初学springMVC,有一点很不解 为啥返回一个json需要如此多的配置。
导入alibaba的fastjson 直接这样不就行了吗?
@RequestMapping("/json")
public @ResponseBody String getJson() {
Student student = new Student("9527", 25, "china");
return JSON.toJSONString(student);
}
其实结果是一样的,只是springmvc提供了注解,比较优雅。就好像你直接用servlet也可以进行web开发,却选择去用springmvc一样
不必要,直接返回对象也可以了
直接return student不就可以了吗?
如果你某天要多返回一种叫xml的格式,你看到的那些配置,就是告诉spring框架什么请况下生成xml。实际上controller不需要关心生成的http响应文本是什么,它只关心返回的是个什么java类型,由spring根据配置来落实http协议。换言之,即便你写成json输出也能运行一点问题都没,但并不是spring的最佳实践。而且你不觉得每个方法都去写一遍tojson很累吗。
直接返回Student对象即可。
@RequestMapping("/json")
public @ResponseBody Student getJson() {
Student student = new Student("9527", 25, "china");
return student;
}
只需要添加一个Jackson依赖包:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.4.0</version>
</dependency>