过滤器修改响应体导致JSON解析失败怎么办?

如何在过滤器中修改响应体后

确保前端正常解析json

在过滤器中修改响应体可以实现特定的业务逻辑,但可能导致前端无法正常解析json对象。

本例过滤器旨在将响应体中带id的long字段转换成string,以符合前端需求。然而,修改后的响应体无法被前端正确解析。

解决办法是:

@Bean
public Jackson2ObjectMapperBuilderCustomizer jsonCustomizer() {
    return builder -> builder.serializerByType(Long.class, new ToStringSerializer());
}

使用jackson2objectmapperbuildercustomizer给jackson注册自定义的long序列化器tostringserializer,即可直接序列化long为string,无需在过滤器中复杂处理。