Я использую quickxml jackson для сериализации json. Я написал дату сериализатора какОтображения Spring Boot Jackson не работают
public class DateObjectSerializer extends JsonSerializer<Date> {
public static final String DATE_FORMAT = "dd.MM.yyyy";
@Override
public void serialize(Date date, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException {
System.out.println("From DateObjectSerializer");
SimpleDateFormat dateFormat = new SimpleDateFormat(DATE_FORMAT);
String formattedDate = dateFormat.format(date);
jgen.writeString(formattedDate);
}
}
Но он не вызывается. Однако другие мастерские Джексона работают нормально.
Поэтому я добавил следующую конфигурацию в application.yaml
spring:
jackson:
serialization-inclusion: non_null
date-format: dd.MM.yyyy
Но din't работу.
Таким образом, я добавил этот код в класс SpringBootConfiguration.
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
final MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
final ObjectMapper objectMapper = new ObjectMapper();
SimpleDateFormat dateFormat = new SimpleDateFormat(DATE_FORMAT);
objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false).setDateFormat(dateFormat);
converter.setObjectMapper(objectMapper);
converters.add(converter);
super.configureMessageConverters(converters);
}
Теперь даты сериализуются правильно. Но теперь действующие эквивалентные строки JSON не преобразуются в JSON, как указано here.
@RestController
public class SampleController {
@RequestMapping(value = "/jsonInfo", method = RequestMethod.GET, produces = APPLICATION_JSON_VALUE)
public String jsonInfo() {
String string = "{\"name\": \"foo\"}"
return string;
}
}
Я думаю, что базовая конфигурация свойство поддерживается от Spring загрузки 1.4.1. Итак, os issue 1 –
Что заставляет вас думать об этом? –
их документация. В 1.4.0 документах они говорят о конфигурации на основе свойств. Но в 1.4.1 документах они говорили о @JsonComponent и конфигурации на основе свойств. –