项目升级webflux架构,终于一路走通了,发现接口输出很多值为null的字段。application.yml项目总已经配置了spring.jackson.default-property-inclusion: non_null 看起来是没起作用。
需要重写WebFluxConfigurer的configureHttpMessageCodecs 才能使其生效,于是增加一个@Configuration类 问题得到解决
@Configuration
public class WebConfiguration implements WebFluxConfigurer {
@Autowired
private ObjectMapper objectMapper;
@Override
public void configureHttpMessageCodecs(ServerCodecConfigurer configurer) {
configurer.defaultCodecs().jackson2JsonEncoder(new Jackson2JsonEncoder(objectMapper));
}
}
另外还发下response的数据中long类型的时间戳都被转换成了Date类型 ;
application.yml中增加如下配置 得到解决~
spring.jackson.serialization.WRITE_DATES_AS_TIMESTAMPS: true