0

I am new to Kotlin and Javalin. While migrating from Javalin 3 to 4, Javalinjackson.configure() function is deprecated. Below is the part of the code

import io.javalin.plugin.json.JavalinJackson
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule
import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper

val om = jacksonObjectMapper().apply { registerModule(JavaTimeModule()) }
JavalinJackson.configure(om)

I read in the documentation is that config.jsonMapper() is used now. Any pointers would be helpful.

Maverick
  • 397
  • 1
  • 4
  • 18

1 Answers1

1

JavalinJackson is not a singleton any more. To "configure" it just pass your ObjectMapper as a constructor parameter:

val om = jacksonObjectMapper().apply { registerModule(JavaTimeModule()) }
val jacksonMapper = JavalinJackson(om)

and then pass resulting instance of JsonMapper into Javalin config:

val app = Javalin.create { config: JavalinConfig ->
    config.jsonMapper(jacksonMapper)
}.start()