Hai, saya memiliki Objek LogEvent yang digunakan di sisi klien untuk mencatat peristiwa dan saya ingin mengirimkannya ke server menggunakan REST API. Saya mengonversi Objek LogEvent ke string json dan mengirimkannya sebagai payload melalui REST. Di sisi Server saya menggunakan Groovy dan ketika saya mencoba melakukan objectMapper.readValue() saya mendapatkan kesalahan berikut.
com.fasterxml.jackson.databind.JsonMappingException: Tidak dapat menemukan deserializer untuk tipe Koleksi non-beton [tipe koleksi; kelas org.apache.logging.log4j.ThreadContext$ContextStack, berisi [tipe sederhana, kelas 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.
Saya tidak dapat mengonversi json kembali ke objek menggunakan ObjectMapper. Terima kasih atas bantuan Anda.