package com.odcc.cpzidc.framework.config;
|
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
import com.fasterxml.jackson.databind.MapperFeature;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.module.SimpleModule;
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Configuration;
|
import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;
|
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
|
|
import java.text.SimpleDateFormat;
|
import java.util.TimeZone;
|
|
/**
|
* Jackson配置
|
*
|
* @author ruoyi
|
*
|
*/
|
@Configuration
|
public class JacksonConfig
|
{
|
@Bean
|
public MappingJackson2HttpMessageConverter jackson2HttpMessageConverter()
|
{
|
final Jackson2ObjectMapperBuilder builder = new Jackson2ObjectMapperBuilder();
|
builder.serializationInclusion(JsonInclude.Include.NON_NULL);
|
final ObjectMapper objectMapper = builder.build();
|
SimpleModule simpleModule = new SimpleModule();
|
// Long 转为 String 防止 js 丢失精度
|
simpleModule.addSerializer(Long.class, ToStringSerializer.instance);
|
objectMapper.registerModule(simpleModule);
|
// 忽略 transient 关键词属性
|
objectMapper.configure(MapperFeature.PROPAGATE_TRANSIENT_MARKER, true);
|
// 时区设置
|
objectMapper.setTimeZone(TimeZone.getTimeZone("GMT+8"));
|
objectMapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));
|
return new MappingJackson2HttpMessageConverter(objectMapper);
|
}
|
}
|