Привет! У меня есть объект LogEvent, используемый на стороне клиента для регистрации событий, и я хочу отправить его на сервер, используя REST API. Я преобразовываю объект LogEvent в строку json и отправляю его как полезную нагрузку через REST.
На стороне сервера я использую Groovy, и когда я пытаюсь сделать objectMapper.readValue (), я получаю следующую ошибку.
com.fasterxml.jackson.databind.JsonMappingException: не удается найти десериализатор для неконкретного типа коллекции [тип коллекции; класс org.apache.logging.log4j.ThreadContext $ ContextStack, содержит [простой тип, класс java.lang.String]]
/// Client Side code.
private final List<LogEvent> eventQueue = new LinkedList<>();
List<LogEvent> logToSend;
eventsToSend = new ArrayList<>(eventQueue);
String jsonLogStream = new String();
ObjectMapper mapperObj = new ObjectMapper();
try{
jsonLogStream = mapperObj.writeValueAsString(logToSend);
}catch (IOException e){
e.printStackTrace();
}
closeableHttpResponse = communicationManager.executeHttpPost(uri, Collections.emptyMap(), new ByteArrayInputStream(jsonLogStream.getBytes()), false);
//// In Groovy
//
String logstream = request.getJSON().toString()
//here I'm getting LogEvents converted to json
LogEvent[] events = mapper.readValue(logstream, LogEvent[].class )
// mapper.readvalue giving error mentioned.
Я не могу преобразовать json обратно в объект, используя ObjectMapper.
Спасибо за вашу помощь.