首页 > SpringMVC 为什么返回json需要这么多配置

SpringMVC 为什么返回json需要这么多配置

由于本人初学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>
【热门文章】
【热门文章】