Ich habe auf eine spätere Version von jackson (dh von org.codehaus ... zu com.fasterxml ...) upgegraded und plötzlich stehe ich vor vielen seltsamen Dingen Fehler. Nach stundenlangem Versuchen und Anpassen kann ich es immer noch nicht zur Arbeit bringen, also frage ich euch, ob ihr mir helfen könnt.jackson-databind "object ist keine Instanz zum deklarieren einer Klasse"
Ich habe die folgende Methode:
@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("getTerminalsByIdAndLocation")
List<SearchResultDto> getTerminalsByIdAndLocation(@QueryParam("location") String location, @QueryParam("id") Integer id) throws BusinessException;
und Funktionen Implementierung tut nur eine Suche in einem Repository.
Die SearchResultDto sieht wie folgt aus:
@JsonIgnoreProperties(ignoreUnknown = true)
public class SearchResultDto implements Serializable {
private static final long serialVersionUID = 1L;
private TerminalId terminalId;
private Integer location;
private String streetNumber;
private String postalcoldeCity;
private Status status;
// getters and setters with no annotation or so
}
Wenn ich jetzt meine Methode aufrufen ich die folgende Störung erhalte:
Caused by: com.fasterxml.jackson.databind.JsonMappingException: object is not an instance of declaring class (through reference chain: java.util.ArrayList[0]-><long package>.SearchResultDto["terminalId"])
Nach viel versucht, ich dachte, ich werde einfach entferne die terminalId und dann ändert sie sich zu:
Caused by: com.fasterxml.jackson.databind.JsonMappingException: object is not an instance of declaring class (through reference chain: java.util.ArrayList[0]-><long package>AtmSearchResultDto["location"])
Ich bin ahnungslos, was ist hier falsch?
EDIT
Ich habe auch versucht @JsonIgnore auf alles außer String streetNumber
verwenden, aber dann die gleiche Ausnahme geschieht nur für streetNumber
Ich habe Probleme mit Klassenladern oder so. Ich habe einige Debug-Ausgabe hinzugefügt (oder versucht, zu) und bekam einen Fehler wie: ' .SearchResultDto kann nicht in .SearchResultDto' umgewandelt werden –