Keine serializer fand für die Klasse java.util.die Protokollierung.ErrorManager und keine Eigenschaften entdeckt zu erstellen BeanSerializer
Ich habe ein problem mit der Serialisierung eine Antwort im REST-Anwendung.
Hier ein schneller Schnappschuss von meinem code:
ResponseWrapper.class
@JsonInclude(Include.NON_NULL)
public class ResponseWrapper {
private User user;
private Token token;
private Authentication authentication;
public ResponseWrapper(){}
//setters and getters
}
Configuration.class
@Configuration
public class BeanConfig {
@Bean
@Scope(value = WebApplicationContext.SCOPE_REQUEST, proxyMode = ScopedProxyMode.TARGET_CLASS)
public ResponseWrapper response() {
return new ResponseWrapper();
}
}
In meiner Implementierung die Klasse bekam ich einen autowired variable:
@Autowired
ResponseWrapper response;
Wenn ich die Rückkehr meiner Antwort nur wie
return response;
bekam ich eine Nachricht
Failed to write HTTP message: org.springframework.http.converter.HttpMessageNotWritableException: Could not write content: No serializer found for class java.util.logging.ErrorManager and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) (through reference chain: com.coig.prek.webservice.utils.wrappers.ResponseWrapper$$EnhancerBySpringCGLIB$$9e771672["targetSource"]->org.springframework.aop.target.SimpleBeanTargetSource["beanFactory"]->org.springframework.beans.factory.support.DefaultListableBeanFactory["beanClassLoader"]->org.apache.catalina.loader.ParallelWebappClassLoader["resources"]->org.apache.catalina.webresources.StandardRoot["context"]->org.apache.catalina.core.StandardContext["logger"]->org.apache.juli.logging.DirectJDKLog["logger"]->java.util.logging.Logger["parent"]->java.util.logging.Logger["parent"]->java.util.logging.Logger["parent"]->java.util.logging.Logger["handlers"]->org.apache.juli.AsyncFileHandler["errorManager"]); nested exception is com.fasterxml.jackson.databind.JsonMappingException: No serializer found for class java.util.logging.ErrorManager and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) (through reference chain: com.coig.prek.webservice.utils.wrappers.ResponseWrapper$$EnhancerBySpringCGLIB$$9e771672["targetSource"]->org.springframework.aop.target.SimpleBeanTargetSource["beanFactory"]->org.springframework.beans.factory.support.DefaultListableBeanFactory["beanClassLoader"]->org.apache.catalina.loader.ParallelWebappClassLoader["resources"]->org.apache.catalina.webresources.StandardRoot["context"]->org.apache.catalina.core.StandardContext["logger"]->org.apache.juli.logging.DirectJDKLog["logger"]->java.util.logging.Logger["parent"]->java.util.logging.Logger["parent"]->java.util.logging.Logger["parent"]->java.util.logging.Logger["handlers"]->org.apache.juli.AsyncFileHandler["errorManager"])
Und ich habe eigentlich keine Ahnung, was ich falsch mache. Ich habe versucht, zu @JsonIgnore
annotation mit @JsonProperty
aber es war keine diffrence ich arbeiten. Also Frage ich Sie, was mache ich falsch, dass es nicht serialisierbar richtig?
Werden, wenn die Beschreibung nicht reicht, sorry, ich weiß nicht, was ich sonst noch schreiben könnte zu diesem problem.
@Edit
Bin ich wieder Antwort bean mit ResponseEntity Klasse
return new ResponseEntity<ResponseWrapper>(response, HttpStatus.OK);
InformationsquelleAutor rdabrowski | 2017-01-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, jackson versucht zu serialisieren ein leeres Objekt.
Sie müssen konfigurieren jackson zu vermeiden, dieses Ding:
jackson 1.x:
jackson 2.X
Ein Beispiel, um dies zu tun, was im Frühjahr finden hier
Versuchen, Sie zu entfernen
Autowired
von Antwort-Instanz.Aber wenn ich verstehe es richtig, dass ich nicht in der Lage, um eine Instanz der bean
Ich denke die Antwort sollte erstellt werden durch den code nicht durch den container. So entfernen sollte es gut sein,
InformationsquelleAutor Sachin Gupta