java.lang.IllegalArgumentException: Für den Rückgabewert des Typs wurde kein Konverter gefunden
Mit diesem code
@RequestMapping(value = "/bar/foo", method = RequestMethod.GET)
public ResponseEntity<foo> foo() {
Foo model;
...
return ResponseEntity.ok(model);
}
}
Bekomme ich die folgende exception
java.lang.IllegalArgumentException: No converter found for return value of type
Meine Vermutung ist, dass das Objekt nicht konvertiert werden, um JSON weil Jackson fehlt. Ich verstehe nicht warum, weil ich dachte, dass Jackson gebaut wurde mit spring boot.
Dann habe ich versucht, um Jackson zu den pom.xml aber ich habe immer noch den gleichen Fehler
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.4.3</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.4.3</version>
</dependency>
Muss ich ändern, spring boot-Eigenschaften, um diese Arbeit zu machen?
Danke
InformationsquelleAutor der Frage Marc | 2016-06-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das problem war, dass einer der geschachtelten Objekte in Foo nicht haben
getter/setter
InformationsquelleAutor der Antwort Marc
Fügen Sie die unten Abhängigkeit zu Ihrem pom.xml:
InformationsquelleAutor der Antwort Prateek
Verwenden
@ResponseBody
undgetter/setter
. Hoffe es löst dein Problem.und aktualisieren Sie Ihre
mvc-dispatcher-servlet.xml
:InformationsquelleAutor der Antwort SkyWalker
Ich hatte das gleiche problem, und leider konnte nicht gelöst werden, durch hinzufügen von getter-Methoden oder das hinzufügen von jackson Abhängigkeiten.
Dann sah ich auf den Offiziellen Spring Guide, und folgte Ihrem Beispiel, wie Sie hier angegeben - https://spring.io/guides/gs/actuator-service/ - wo das Beispiel zeigt auch die Umwandlung der zurückgegebene Objekt in das JSON format.
Ich dann wieder mein eigenes Projekt, mit dem Unterschied, dass dieses mal ich habe auch die Abhängigkeiten und build-plugins, die in der pom.xml - Datei von der Offiziellen Spring Guide Beispiel habe ich oben erwähnt.
Den geänderten Abhängigkeiten und build-Teil der XML-Datei sieht wie folgt aus!
Können Sie finden die gleichen in den genannten link oben.
Und magisch, atleast für mich, es funktioniert. Also, wenn Sie bereits erschöpft Ihre anderen Optionen, möchten Sie vielleicht, um es auszuprobieren, war bei mir der Fall.
Nur eine Seite beachten, es hat nicht funktioniert für mich, wenn ich fügte hinzu, die Abhängigkeiten in meinem vorherigen Projekt und hat Maven installieren und aktualisieren von Projekt-Zeug. Also musste ich nochmal machen, mein Projekt von Grund auf neu. Ich habe nicht viel über die Mühe, es so meins ist ein Beispiel-Projekt, aber vielleicht möchten Sie sich auch dafür!
InformationsquelleAutor der Antwort thisisashwani
Das Problem trat in meinem Fall, weil das spring-framework konnte nicht abgerufen werden die Eigenschaften verschachtelter Objekte. Getter/Setter ist ein Weg zu lösen. Machen die Eigenschaften der öffentlichkeit ist ein weiterer quick-and-dirty-Lösung um zu überprüfen, ob dies tatsächlich das problem.
InformationsquelleAutor der Antwort vish213
Ich auch so erlebt-Fehler, wenn durch einen Unfall zwei @JsonProperty("some_value") identischen Zeilen auf verschiedene Eigenschaften innerhalb der Klasse
InformationsquelleAutor der Antwort Vit Ias
Ich Stand vor dem gleichen Problem für lange Zeit, die dann kommt, zu wissen, haben zu konvertieren Objekt in das JSON Objekt-Mapper und übergeben Sie es als JSON-Objekt
InformationsquelleAutor der Antwort Kiran Kawade
In meinem Fall, ich habe vergessen zu Bibliothek hinzufügen jackson-core.jar habe ich nur Hinzugefügt jackson-annotations.jar und jackson-databind.jar. Wenn ich Hinzugefügt jackson-core.jar es repariert das problem.
InformationsquelleAutor der Antwort Lisa
Fügen Sie die getter - /setter-fehlt im inneren der Bohne in der Fehlermeldung erwähnt.
InformationsquelleAutor der Antwort Soumyajit Swain