В тестовом задании есть создание сущности(Entity) через вью и последующее занесение ее в бд. К этому заданию есть готовые тесты, часть из которых падает с ошибкой. Ошибка вот в чем заключается. В классе сущности переопределен метод toString() для создания jsonString для ответа от сервера.
@Override
public String toString() {
try {
return new com.fasterxml.jackson.databind.ObjectMapper().writerWithDefaultPrettyPrinter().writeValueAsString(this);
} catch (com.fasterxml.jackson.core.JsonProcessingException e) {
e.printStackTrace();
}
return null;
}
Эту стригу берет тест и пытается создать по ней свой объект
ShipInfoTest actual = mapper.readValue(contentAsString, ShipInfoTest.class);
Проблема в том, что он падает с ошибкой.
com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot construct instance of `com.space.controller.utils.ShipInfoTest` (although at least one Creator exists): no String-argument constructor/factory method to deserialize from String value ('{
"id" : 41,
"name" : "123456789",
"planet" : "Earth",
"shipType" : "MILITARY",
"prodDate" : 32998274577071,
"isUsed" : true,
"speed" : 0.8,
"crewSize" : 14,
"rating" : 0.02
}')
at [Source: (String)""{\r\n \"id\" : 41,\r\n \"name\" : \"123456789\",\r\n \"planet\" : \"Earth\",\r\n \"shipType\" : \"MILITARY\",\r\n \"prodDate\" : 32998274577071,\r\n \"isUsed\" : true,\r\n \"speed\" : 0.8,\r\n \"crewSize\" : 14,\r\n \"rating\" : 0.02\r\n}""; line: 1, column: 1]
Вопрос что может быть не так тут.