背景
最近在做 流量回放对比的过程中,soa 使用的 protobuf 协议响应内容去除了 值为空的属性节点(减小报文大小),controller 接口的响应内容中还是会有值为空的属性节点,导致流量回放对比的脚本需要判断哪些属性节点值为空没有问题,确定是否可以排除。增加了一些 额外的工作量,所以想了想,将 controller 接口的响应内容做一下调整,去除 值为空的属性节点。
代码如下
@Configuration
public class XxxConfig {
@Bean
@Primary
@ConditionalOnMissingBean(ObjectMapper.class)
public ObjectMapper jacksonObjectMapper(Jackson2ObjectMapperBuilder builder) {
ObjectMapper objectMapper = builder.createXmlMapper(false).build();
// 屏蔽值为 null 的属性
objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
return objectMapper;
}
}
```