У меня есть приложение Spring Boot с конечными точками RESTful, которые я хочу добавить пользовательские сериализаторы для joda-time, но я не могу получить стандартное приложение Jackson serailzier, чтобы распознать свой пользовательский.Spring Boot игнорирует @JsonDeserialize и @JsonSerialize
Я создал успокоительные конечные точки с помощью @RepositoryRestResource
@RepositoryRestResource(collectionResourceRel = "x", path = "x")
public interface XRepository extends PagingAndSortingRepository<X, Long>
{
}
Я тогда GET вызов вернуть весь объект Икса:
Это мой сериализатору:
@Component
public class JsonDateSerializer extends JsonSerializer<DateTime>
{
private static DateTimeFormatter formatter = DateTimeFormat.forPattern("dd/MM/yyyy");
@Override
public void serialize(DateTime value, JsonGenerator gen,
SerializerProvider arg2)
throws IOException, JsonProcessingException {
gen.writeString(formatter.print(value));
}
}
И я добавляю его в собственность Getter следующим образом:
@JsonSerialize(using=JsonDateSerializer.class)
public DateTime getDateCreated()
{
return dateCreated;
}
Этот сериализатору отлично работает в штатном режиме, но когда я пытаюсь использовать это в моем Spring приложения загрузки эти сериализаторов игнорируются.
Как я могу получить Spring Boot для распознавания этих сериализаторов?
Покажите нам, где вы попробуйте его сериализовать. –
Какую версию Джексона вы пытаетесь использовать в аннотации '@ JsonDeserializer'? – jbarrueta
@SotiriosDelimanolis Я делаю вызов POST, используя следующий JSON {"invoiceId": "1", "feeds": [{"dateCreated": "1/1/1"}]}, затем Spring Boot автоматически пытается сериализовать Это. – Schokea