RestClientException: Antwort konnte nicht extrahiert werden. kein passender HttpMessageConverter gefunden

8

Mit dem Befehl curl:

%Vor%

Ich erhalte eine JSON-Antwort:

%Vor%

Ich speichere die Antwort auf eine TXT-Datei und analysiere sie mit Jackson, und alles ist in Ordnung

%Vor%

und ich nehme an, ich sollte das gleiche Ergebnis mit RestTemplate erhalten, aber es ist nicht der Fall

%Vor%

Ich habe stattdessen einen Fehler erhalten

%Vor%

Ich habe versucht, den Inhaltstyp festzulegen:

%Vor%

aber dann habe ich einen Kompilierungsfehler

%Vor%

Ich habe auch versucht, einen Jackson Message Converter hinzuzufügen

%Vor%

Aber dann habe ich diesen Fehler:

%Vor%

Ich habe auch versucht, die Klasse

hinzuzufügen %Vor%

aber ich habe den Fehler:

%Vor%     
En NuNYet de Can CalÇadA 25.05.2017, 08:55
quelle

3 Antworten

24

Das Hauptproblem ist hier der Inhaltstyp [text / html; charset = iso-8859-1] , der vom Dienst empfangen wird, der tatsächliche Inhaltstyp sollte jedoch application / json; charset lauten = iso-8859-1

Um dies zu umgehen, können Sie einen benutzerdefinierten Nachrichtenkonverter einführen. und es für alle Arten von Antworten registrieren (d. h. den Header des Antwort-Inhaltstyps ignorieren). Genau so

%Vor%     
Ilya Dyoshin 27.05.2017, 17:33
quelle
3

Ich hatte ein sehr ähnliches Problem, und es stellte sich heraus, dass es ziemlich einfach war; Mein Client enthielt keine Jackson-Abhängigkeit, auch wenn der Code korrekt kompiliert wurde, wurden die auto-magic-Konverter für JSON nicht einbezogen. Siehe diese RestTemplate-bezogene Lösung.

Kurz gesagt, habe ich meiner pom.xml eine Jackson-Abhängigkeit hinzugefügt, und es hat einfach funktioniert:

%Vor%     
gbonehead 08.02.2018 20:59
quelle
2

Wenn die obige Antwort von @Ilya Dyoshin noch nicht abgerufen wurde, versuchen Sie, die Antwort in ein String-Objekt zu bekommen.

(Für meinen Selbstgedanken wurde der Fehler durch das Code-Snippet von Ilya gelöst, die abgerufene Antwort war ein Fehler (Fehler) vom Server.)

%Vor%

und Cast zum ResponseObject DTO (Json)

%Vor%     
hirosht 12.09.2017 06:21
quelle