Как передать .class в ObjectMapper при попытке генерировать метод, используя его? - PullRequest
1 голос
/ 23 сентября 2019

У меня есть приложение, написанное с использованием Spring, и у меня проблема с ObjectMapper.Проблема в методе, который я пытаюсь сгенерировать.

Я похож на это:

public T getResponse(U senderJsonModel, T response) {
    headers.setContentType(MediaType.APPLICATION_JSON);
    HttpEntity<String> entity = new HttpEntity<>(createSendRequest(senderJsonModel), headers);
    String answer = restTemplate.postForObject(apiAddress, entity, String.class);
    try {
        response = mapper.readValue(answer, response.getClass());
    } catch (IOException e) {
        log.error("Error mapping JSON values to Object", e);
    }
    return response;
}

Я получаю исключение нулевого указателя, когда оно попадает в строку

response = mapper.readValue(answer, response.getClass());

Я пробовал с TypeReference<T>(){}, но я получил:

java.lang.ClassCastException: класс java.util.LinkedHashMap не может быть приведен к классу com.app.infrastructure.sender.emailsender.response.EmailHttpResponse

Под U я передаю экземпляр класса EmailJsonModel, а под T я передаю экземпляр класса EmailHttpResponse.

Я не могу найти способ передачи класса .class этому методуЕсть ли способ сделать это?

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