konfiguracja konwertera
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
Jackson2ObjectMapperBuilder jackson2ObjectMapperBuilder = new Jackson2ObjectMapperBuilder();
Jaxb2RootElementHttpMessageConverter jaxb2RootElementHttpMessageConverter = new Jaxb2RootElementHttpMessageConverter();
jackson2ObjectMapperBuilder.modules(new ParanamerModule());
converters.add(new MappingJackson2HttpMessageConverter(jackson2ObjectMapperBuilder.build()));
converters.add(jaxb2RootElementHttpMessageConverter);
}
dto
@JsonIgnoreProperties(ignoreUnknown = true)
public class NewArticleDto {
public String title;
public String localType;
public String offerType;
public List<String> preferredContactTypes;
public double localizationLat;
public double localizationLng;
public String localizationArea;
@JsonCreator
public NewArticleDto(String title, String localType, String offerType, List<String> preferredContactTypes, double localizationLat, double localizationLng,
String localizationArea) {
this.title = title;
this.localType = localType;
this.offerType = offerType;
this.preferredContactTypes = preferredContactTypes;
this.localizationLat = localizationLat;
this.localizationLng = localizationLng;
this.localizationArea = localizationArea;
}
}
exception
2019-08-24 12:10:01.337 WARN 13992 --- [io-8009-exec-10] .c.j.MappingJackson2HttpMessageConverter : Failed to evaluate Jackson deserialization for type [[simple type, class *.dto.NewArticleDto]]: java.lang.ArrayIndexOutOfBoundsException: 28463
2019-08-24 12:10:01.341 WARN 13992 --- [io-8009-exec-10] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/json;charset=UTF-8' not supported]
2019-08-24 12:10:01.381 WARN 13992 --- [io-8009-exec-10] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.http.converter.HttpMessageNotWritableException: Could not write JSON: Parameter names not found for <init>; nested exception is com.fasterxml.jackson.databind.JsonMappingException: Parameter names not found for <init> (through reference chain: java.util.LinkedHashMap["timestamp"])]
gdy listę preferredContactTypes zamieniam na String[] to wszystko serializuje. W jaki sposób mogę zmienić aby automatycznie potrafił skonwertować na array? Wiem, że mogę to zrobić w konstruktorze ale chciałbym to w bardziej elegancki sposób zrobić