У меня есть класс:
class Person {
String firstName;
String lastName;
// Getters and stuff
}
Мой JSON из веб-сервиса похож на '{"firstName": "Mike", "last_name": "Last"}'
Есть ли способ настроить Джексона на преобразование без аннотирования каждого поля его форматомс аннотацией JsonProperty
? Это надуманный пример, но в моем «реальном» веб-сервисе есть множество полей.
Если я использую регистр по умолчанию, я получаю значение firstName и lastName null, а если я получаю SNAKE_CASE, получаю противоположное.
Могу ли я попробовать оба варианта?
Вот (kotlin) конфигурация для используемого маппера, в настоящее время last_name установлено, а firstName - нет:
@Bean
fun mappingJackson2HttpMessageConverter(): MappingJackson2HttpMessageConverter {
val jsonConverter = MappingJackson2HttpMessageConverter()
val objectMapper = Jackson2ObjectMapperBuilder()
.modules(KotlinModule())
.build<ObjectMapper>()
.setVisibility(PropertyAccessor.SETTER, JsonAutoDetect.Visibility.ANY)
.setVisibility(PropertyAccessor.CREATOR, JsonAutoDetect.Visibility.ANY)
.setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE)
.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
jsonConverter.objectMapper = objectMapper
return jsonConverter
}