package com.imyeyu.api.config; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.MapperFeature; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.PropertyNamingStrategies; import com.fasterxml.jackson.databind.PropertyNamingStrategy; import com.fasterxml.jackson.databind.json.JsonMapper; import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; import com.imyeyu.utils.Time; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.yaml.snakeyaml.Yaml; /** * @author 夜雨 * @since 2025-05-16 18:53 */ @Configuration public class BeanConfig { @Bean public ObjectMapper jackson() { return JsonMapper.builder() .addModule(new JavaTimeModule()) .serializationInclusion(JsonInclude.Include.NON_NULL) .defaultDateFormat(Time.dateTime) .disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES) .enable(MapperFeature.USE_STD_BEAN_NAMING) .build(); } @Bean public Yaml yaml() { return new Yaml(); } }