起因
因为移除fastJson 想用hutool提供的json工具进行替代,换完后自测没有问题。结果到测试环境出现了No serializer found for class cn.hutool.json.JSONNull异常,排查了很久才明白是Spring Boot的序列化问题,spring Boot默认使用jackson进行序列化。
解决方式
使用ObjectMapper
实现全局序列化、反序列化,这个过程使用的仍然是Spring Boot自动配置web mvc,这样静态资源不会失效。
package com.lanmaoly.cloud.freedom;
import cn.hutool.json.JSONNull;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.JsonDeserializer;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.databind.SerializerProvider;
import com.faste