在实际开发过程中,接口的定义和规范,严格意义上会细化到,空字符串应该返回null还是"",亦或是"null",空数组应该返回null还是[],包括是不是要返回value为null的字段。但是springboot默认使用的是Jackson json转换器。Jackson在设置json的格式化问题时虽然可以通过手动重写方法实现,但是不够灵活。因而可以使用阿里的fastjson实现格式的灵活配置,下面介绍两种的具体实现:
一、通过fastjson实现
在Application类下面添加如下代码,将默认的json转换工具替换为fastjson。其中SerializerFeature里面有很多可自行设置的返回样式,可以自行度狗了解。
/**
* 替换框架json为 FastJson返回
*
* @param
*/
@Bean
public HttpMessageConverters configureMessageConverters() {
// 1.构建了一个HttpMessageConverter FastJson消息转换器
FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
// 2.定义一个配置,设置编码方式,和格式化的形式
FastJsonConfig fastJsonConfig = new FastJsonConfig();
// 3.设置PrettyFormat