package com.ruoyi.framework.config;
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.module.SimpleModule;
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import org.apache.ibatis.executor.loader.javassist.JavassistProxyFactory;
|
import org.apache.ibatis.executor.loader.cglib.CglibProxyFactory;
|
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Configuration;
|
import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;
|
|
import java.math.BigInteger;
|
|
/**
|
* Jackson配置类
|
* 解决MyBatis延迟加载代理对象序列化问题
|
*/
|
@Configuration
|
public class JacksonConfig {
|
|
@Bean
|
public ObjectMapper objectMapper(Jackson2ObjectMapperBuilder builder) {
|
ObjectMapper objectMapper = builder.createXmlMapper(false).build();
|
|
// 注册自定义模块
|
SimpleModule module = new SimpleModule();
|
module.addSerializer(BigInteger.class, ToStringSerializer.instance);
|
module.addSerializer(Long.class, ToStringSerializer.instance);
|
objectMapper.registerModule(module);
|
|
// 禁用FAIL_ON_EMPTY_BEANS特性,避免代理对象序列化错误
|
objectMapper.disable(com.fasterxml.jackson.databind.SerializationFeature.FAIL_ON_EMPTY_BEANS);
|
|
return objectMapper;
|
}
|
}
|