Использование Spring Boot, Spring MVC и возврат POJO со списком. Поле Date
не сериализуется, когда поле аннотируется моим пользовательским JsonSerializer (@JsonSerialize (с использованием = DateTimeSerializer.class)).Spring MVC JSON serialization @JsonSerialize игнорируется
JsonSerializer.serialize
не называется.
Как я могу заставить это работать - заставить Джексона вызвать мои пользовательские Сериализаторы? Я могу расширить ObjectMapper и установить что-то, но до сих пор ничего не работало.
Я попытался аннотировать геттеры, но здесь не было никакого успеха.
Использование Spring 4, Jackson 2.4.4, включает все зависимости Jackson (привязка данных, аннотации, ядро). Я включил Spring OXM.
DateTimeSerializer класс:
import java.io.IOException;
import java.util.Date;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
public class DateTimeSerializer extends JsonSerializer<Date> {
@Override
public void serialize(Date date, JsonGenerator gen, SerializerProvider provider) throws IOException, JsonProcessingException {
gen.writeString(DateUtil.toCzechDateTime(date));
}
}
DateUtil.toCzechDateTime мой собственный метод и работает нормально - возвращает строку, которую я хочу.
можете ли вы опубликовать свой класс DateTimeSerializer? – RE350
Вот оно, я отредактировал мой пост. – Xdg
Кроме того, можете ли вы предоставить POJO, где вы используете '@ JsonSerialize'? – wassgren