All Downloads are FREE. Search and download functionalities are using the official Maven repository.

tech.harmonysoft.oss.jackson.HarmonysoftJacksonConfiguration.kt Maven / Gradle / Ivy

There is a newer version: 3.5.0
Show newest version
package tech.harmonysoft.oss.jackson

import com.fasterxml.jackson.databind.ObjectMapper
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule
import com.fasterxml.jackson.module.kotlin.KotlinModule
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
import java.util.*

@Configuration
open class HarmonysoftJacksonConfiguration {

    @Json
    @Bean
    open fun jsonObjectMapper(extensions: Optional>): ObjectMapper {
        return ObjectMapper().apply {
            configure(this, extensions.orElse(emptyList()))
        }
    }

    private fun configure(mapper: ObjectMapper, extensions: Collection) {
        mapper.registerModules(KotlinModule.Builder().build(), KClassModule, JavaTimeModule())
        for (extension in extensions) {
            extension.configure(mapper)
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy