Моя ошибка
Ошибка при извлечении ответа для типа [класс com.jokeapi.jokeDemo.domain.jokeResponse] и типа контента [application/json;charset=utf-8]] с основной причиной com.fasterxml.jackson.databind .exc.MismatchedInputException: невозможно десериализовать значение типа com.jokeapi.jokeDemo.domain.jokeResponse из значения массива (токен JsonToken.START_ARRAY)
Я использую Spring Boot и следую руководству по подключению к конечным точкам API
В моем классе загрузки Spring выглядит так с сеттерами и геттерами. Это отлично работает для других конечных точек API, которые возвращают объекты в парах «ключ-значение».
Код: Выделить всё
@Getter
@Setter
public class jokeResponse {
private Long id;
private String type;
private String setup;
private String punchline;
}
Код: Выделить всё
{
id: 281,
type: "general",
setup: "When does a joke become a dad joke?",
punchline: "When it becomes apparent."
}
Код: Выделить всё
@Override
public jokeResponse getTypesList() {
RestTemplate restTemplate = new RestTemplate();
return restTemplate.getForObject("https://official-joke-api.appspot.com/types", jokeResponse.class);
}
Код: Выделить всё
[
"general",
"knock-knock",
"programming",
"dad"
]
Я попробовал заменить класс на String[].class в методе getForObjects, но это не помогло.
Подробнее здесь: https://stackoverflow.com/questions/790 ... oken-start
Мобильная версия