generated from mingliqiye/lib-tem
All checks were successful
Gitea Actions Build / Build (push) Successful in 1m0s
59 lines
1.8 KiB
Java
59 lines
1.8 KiB
Java
package com.mingliqiye.utils.springboot.autoconfigure;
|
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
import com.mingliqiye.utils.json.JacksonJsonApi;
|
|
import com.mingliqiye.utils.json.JsonApi;
|
|
import com.mingliqiye.utils.json.converters.DateTimeJsonConverter;
|
|
import com.mingliqiye.utils.json.converters.UUIDJsonStringConverter;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.springframework.boot.autoconfigure.AutoConfiguration;
|
|
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
|
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
|
import org.springframework.context.annotation.Bean;
|
|
import org.springframework.context.annotation.Primary;
|
|
|
|
@ConditionalOnClass(ObjectMapper.class)
|
|
@AutoConfiguration
|
|
@AutoConfigureAfter(
|
|
name = {
|
|
"org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration",
|
|
}
|
|
)
|
|
public class JacksonAutoConfiguration {
|
|
|
|
private static final Logger log = LoggerFactory.getLogger(
|
|
"MingliUtils-JacksonAutoConfiguration"
|
|
);
|
|
|
|
public JacksonAutoConfiguration(ObjectMapper objectMapper) {
|
|
addModules(objectMapper);
|
|
log.info("MingliUtils Jackson Serializers created");
|
|
}
|
|
|
|
public static ObjectMapper addModules(ObjectMapper objectMapper) {
|
|
return objectMapper
|
|
.registerModule(
|
|
new DateTimeJsonConverter()
|
|
.getJacksonJsonStringConverterAdapter()
|
|
.getJacksonModule()
|
|
)
|
|
.registerModule(
|
|
new UUIDJsonStringConverter()
|
|
.getJacksonJsonStringConverterAdapter()
|
|
.getJacksonModule()
|
|
);
|
|
}
|
|
|
|
@Bean
|
|
@Primary
|
|
@ConditionalOnMissingBean
|
|
public JsonApi jsonApi(ObjectMapper objectMapper) {
|
|
log.info(
|
|
"MingliUtils-JsonApiAutoConfiguration: JacksonJsonApi bean is created."
|
|
);
|
|
return new JacksonJsonApi(objectMapper);
|
|
}
|
|
}
|