Десериализовать Java Throwable с подавленными исключениями с использованием Джексона - PullRequest
0 голосов
/ 14 июля 2020

Я пытаюсь десериализовать исключение с подавленными исключениями внутри. Я попытался поиграть с миксинами, предполагая, что проблема в том, что поле в java называется suppressedExceptions, но сериализованный json имеет suppressed - пока не повезло.

package com.example;

import com.fasterxml.jackson.databind.ObjectMapper;
import org.junit.Test;

import static org.junit.Assert.assertEquals;

public class ExceptionDeserTest {

    @Test
    public void something() throws Exception {
        ObjectMapper mapper = new ObjectMapper();
        Exception original = new Exception("ex1");
        original.addSuppressed(new Exception("ex2"));
        String serialized = mapper.writeValueAsString(original);

        Exception deserialized = mapper.readValue(serialized, Exception.class);
        
        assertEquals(original.getSuppressed(), deserialized.getSuppressed());
    }
}

Выше утверждение потерпит неудачу с array lengths differed, expected.length=1 actual.length=0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...