♻️ Refactoring code. 优化 Jackconfig 避免spring boot admin json 输出异常

This commit is contained in:
lengleng committed 2020-06-06 14:26:38 +08:00
1 parent 23c771747e
commit d1b2fc2e2b
2 files changed
+49 -1

No files matched your search

@@ -5,6 +5,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.pig4cloud.pigx.common.core.jackson.PigxJavaTimeModule;
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
import org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration;
import org.springframework.context.annotation.Bean;
@@ -16,8 +17,8 @@ import java.util.TimeZone;
/**
* JacksonConfig
*
* @author: lengleng
* @author L.cm
* @author: lengleng
* @author: lishangbu
* @date: 2018/10/22
*/
@@ -25,7 +26,9 @@ import java.util.TimeZone;
@ConditionalOnClass(ObjectMapper.class)
@AutoConfigureBefore(JacksonAutoConfiguration.class)
public class JacksonConfig {
@Bean
@ConditionalOnMissingBean
public Jackson2ObjectMapperBuilderCustomizer customizer() {
return builder -> {
builder.locale(Locale.CHINA);
@@ -0,0 +1,45 @@
package com.pig4cloud.pigx.monitor.config;
import cn.hutool.core.date.DatePattern;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.module.SimpleModule;
import com.pig4cloud.pigx.common.core.jackson.PigxJavaTimeModule;
import de.codecentric.boot.admin.server.config.AdminServerWebConfiguration;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.Locale;
import java.util.TimeZone;
/**
* JacksonConfig
*
* @author L.cm
* @author: lengleng
* @author: lishangbu
* @date: 2018/10/22
*/
@Configuration
@ConditionalOnClass(ObjectMapper.class)
@AutoConfigureAfter(AdminServerWebConfiguration.class)
public class JacksonConfig {
/**
* 覆盖core 模块提供的序列方式,增加springboot admin 序列化
*
* @param adminJacksonModule spring boot admin 提供的序列化
* @return
*/
@Bean
public Jackson2ObjectMapperBuilderCustomizer customizer(SimpleModule adminJacksonModule) {
return builder -> {
builder.locale(Locale.CHINA);
builder.timeZone(TimeZone.getTimeZone("Asia/Shanghai"));
builder.simpleDateFormat(DatePattern.NORM_DATETIME_PATTERN);
builder.modules(new PigxJavaTimeModule(), adminJacksonModule);
};
}
}