Я попытался протестировать API, который отдаёт ответ JSON с Content-Type: text/html; charset=UTF-8. В коде пытался преобразовать ответ в объект путём:
MyModel model = response.as(MyModel.class);
У меня появилась ошибка:
java.lang.IllegalStateException: Cannot parse object because no supported Content-Type was specified in response. Content-Type was 'text/html; charset=UTF-8'.
java.lang.IllegalStateException: Cannot deserialize object because no JSON deserializer found in classpath. Please put either Jackson (Databind) or Gson in the classpath.
Для решения этой проблемы воспользовался добавлением в pom.xml библиотеки:
java.lang.IllegalStateException: Cannot parse object because no supported Content-Type was specified in response. Content-Type was 'text/html; charset=UTF-8'.
@blink2004 вы сов правы но восток ^W лоу левел форматы штука тонкая и это помоему оправдывает выбор интсрумента - я по крайне й мере один случай знаю где jackson не могет… и что - писать в oss jiira у меня времени не хватает -
Gson gson = new Gson();
MyModel model = gson.fromJson(json, MyModel.class);
Где json - JSON строка
Здесь можно наити примеры JSON to object и JSON to array/list
Кроме того, я лично если проект позволяет (и чаще всего так и есть) сразу работаю с requests/responses как с обьектами. RESTEasy proxy framework - супер удобно. Если того требует проект всегда можно опуститься на “HTTP” уровень и работать непосредсвенно с headers/response code/body