Мне нужен общий экземпляр com.fasterxml.jackson.databind.ObjectMapper в grails, поэтому я думаю, что самый стандартный способ сделать это - через beans DSL. я пытался что-то подобное (с большим количеством вариантов, как с помощью делегата ключевого слова) в resources.groovyКонфигурирование объекта ObjectMapper от пользователя Grail DSL
objectMapper(ObjectMapper) { bean ->
bean.setVisibility(PropertyAccessor.ALL, Visibility.ANY)
bean.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
}
, но это не сработало, ObjectMapper настроен путь по умолчанию, что не очень хорошо работает с Грааль. я использовал обходной путь, который делает то, что мне нужно (в BootStrap.groovy):
def init = { servletContext ->
def bean = Holders.applicationContext.objectMapper
bean.setVisibility(PropertyAccessor.ALL, Visibility.ANY)
bean.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
}
Может кто-нибудь мне точку, как это сделать в фасоли DSL, где он принадлежит (ИМХО)?
Спасибо, подклассификация кажется мне хорошей и достаточно простой (и она работает). Если никто не приходит с чистым решением DSL, я соглашусь с этим –