Ich versuche DB-Daten auf meiner Webseite anzuzeigen.
Ich habe folgenden Code gemacht, wenn GET-Anfrage an die @RequestMapping(value = "/api/binder")
.
Aber wenn get-Anforderung zu dieser Methode kam, wird es Daten holen (ich habe auf der Konsole gedruckt und gut angezeigt), aber es wird meinem Java Script Ajax-Aufruf nicht zugeordnet, es zeigt mir einen Fehler.
Nachfolgend ist mein Code zum Abrufen von Daten:
%Vor%aber es zeigt mir folgenden Fehler:
%Vor%Hier ist ein Ajax-Aufruf von knockout js:
ajax.get('api/binder').done(function(response){ ... }
Hier BinderView and BinderResponse
haben gleiche Felder:
und Getter Setter auch in beiden.
und repository.genBinders()
Methode bringt Daten aus der DB.
Hier ist die Einfügemethode und funktioniert gut für mich:
%Vor% Soll ich json annotation on my BinderResponse class ?
Ich verstehe nicht, wo ich falsch liege, jemand, der mich anspricht, leitet mich.
%Vor%UPDATE:
BinderView:
%Vor%In der Konsole wird data / BinderName:
ausgegeben %Vor%Neues Update:
Hier ist BaseView :
%Vor%und In IEntity :
%Vor%WebApiResponseBase :
%Vor%Jackson serialisiert standardmäßig die gesamte Vererbungshierarchie eines Objekts, d. die Elternklasse Felder auch. Im Falle von
%Vor%es scheint wie
%Vor% Jackson versucht, ein Feld namens valid
von einem getter
namens isValid
zu serialisieren (was ein konventioneller Name der Bean-Eigenschaft ist). Die Getter-Methode scheint jedoch aus irgendeinem Grund ein NullPointerException
zu werfen.
Wenn Sie möchten, dass Jackson es ignoriert, können Sie den Getter mit @JsonIgnore
oder Ihre Klasse mit @JsonIgnoreProperties
annotieren und den Namen der Eigenschaft angeben, d. valid
.
Es wird die gleiche Ausnahme ausgelöst, weil hier null sein kann, indem getCreatedDate () aufgerufen wird, so dass es kein Nulldatum formatieren kann, also halte hier die Nullprüfung wie folgt:
Lösung
%Vor%Tags und Links java ajax json jackson spring-mvc