Поскольку экземпляр ObjectMapper
является частным в ConfigurableJackson
, вы не можете получить его после создания, чтобы выполнить какую-либо настройку.
Таким образом, вам нужно либо создать свой собственный прямой экземпляр ConfigurableJackson
и передать настроенный ObjectMapper
, либо вам нужно создать подкласс ConfigurableJackson
с вашим собственным классом. А затем во время конструктора создайте ObjectMapper
( см. Пример ниже ) или перехватите один передаваемый в ваш конструктор и измените его настройки.
Что бы вы ни делали, убедитесь, что вы не нарушаете каркас http4k или что-либо еще, что может использовать тот же экземпляр. Вы можете увидеть значения по умолчанию, используемые http4k , объявленные в их исходном коде :
object Jackson : ConfigurableJackson(ObjectMapper()
.registerModule(defaultKotlinModuleWithHttp4kSerialisers)
.disableDefaultTyping()
.configure(FAIL_ON_UNKNOWN_PROPERTIES, false)
.configure(FAIL_ON_IGNORED_PROPERTIES, false)
.configure(USE_BIG_DECIMAL_FOR_FLOATS, true)
.configure(USE_BIG_INTEGER_FOR_INTS, true)
)
Вы можете использовать код, аналогичный приведенному выше, для создания собственного экземпляра.
См. Эту ветку для разговора на эту тему: https://github.com/http4k/http4k/issues/183