引入fastjson依赖库 :

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.31</version>
</dependency>

官方文档说的1.2.10以后,会有两个方法支持HttpMessageconvert,一个是FastJsonHttpMessageConverter,支持4.2以下的版本,一个是FastJsonHttpMessageConverter4支持4.2以上的版本,具体有什么区别暂时没有深入研究。这里也就是说:低版本的就不支持了,所以这里最低要求就是1.2.10+。

配置fastjon(支持两种方法) :

第一种方法:
(1)启动类继承WebMvcConfigurerAdapter
(2)覆盖方法configureMessageConverters

代码如下:

@SpringBootApplication
public class App extends WebMvcConfigurerAdapter {
 
	@Override
	public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
    	super.configureMessageConverters(converters);
	    //1、需要先定义一个 convert 转换消息的对象;
        FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
        //2、添加fastJson 的配置信息,比如:是否要格式化返回的json数据;
        FastJsonConfig fastJsonConfig = new FastJsonConfig();
        fastJsonConfig.setSerializerFeatures(
                SerializerFeature.PrettyFormat
        );
        //3、在convert中添加配置信息.
        fastConverter.setFastJsonConfig(fastJsonConfig);
    	converters.add(fastConverter);
	}
 
	public static void main(String[] args) {
		SpringApplication.run(App.class) ;
	}
}

第二种方法:
(1)在App.java启动类中, 注入Bean : HttpMessageConverters
代码如下:

@SpringBootApplication
public class App {
 
	@Bean
	public HttpMessageConverters fastJsonHttpMessageConverters() {
		// 1、需要先定义一个 convert 转换消息的对象;
		FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
		//2、添加fastJson 的配置信息,比如:是否要格式化返回的json数据;
		FastJsonConfig fastJsonConfig = new FastJsonConfig();
		fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
		//3、在convert中添加配置信息.
		fastConverter.setFastJsonConfig(fastJsonConfig);
		HttpMessageConverter<?> converter = fastConverter;
		return new HttpMessageConverters(converter);
	}
 
	public static void main(String[] args) {
		SpringApplication.run(App.class) ;
	}
}

新建User.java, 使用fastjson格式化日期。

public class User {
 
	private Integer id;
 
	private String name;
 
	private Integer age;
 
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	private Date createTime;
 
	public Integer getId() {
		return id;
	}
 
	public void setId(Integer id) {
		this.id = id;
	}
 
	public String getName() {
		return name;
	}
 
	public void setName(String name) {
		this.name = name;
	}
 
	public Integer getAge() {
		return age;
	}
 
	public void setAge(Integer age) {
		this.age = age;
	}
 
	public Date getCreateTime() {
		return createTime;
	}
 
	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}
 
}

新建UserController类:

@RestController
public class UserController {
 
	@GetMapping("getUser")
	public User getUser() {
		User user = new User() ;
		user.setId(1);
		user.setName("jason");
		user.setAge(24);
		user.setCreateTime(new Date());
		return user ;
	}
}

启动App.java

访问 http://127.0.0.1:8080/getUser ,结果如下:

{
   "age": 24,
   "createTime": "2017-08-24 21:55:05",
   "id": 1,
   "name": "jason"
}