RESTアプリケーションでレスポンスのシリアル化に問題があります。クラスjava.util.logging.ErrorManagerでシリアライザが見つかりませんでした。BeanSerializerを作成するためのプロパティが見つかりません
ここに私のコードの簡単なスナップショットです:私の実装クラスで 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();
}
}
私はautowired変数だ:
を@Autowired
ResponseWrapper response;
私はちょうど
return response;
ように私の応答を返す私はメッセージ
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"])
を持って、私は実際に私が間違っているの何見当がつかない。私は@JsonIgnore
の注釈を@JsonProperty
としようとしましたが、それは私が働いていたのです。だから私は間違ってやっていること、正しくシリアライズできないことをあなたに尋ねているのですか?
説明が十分でない場合は、申し訳ありませんが、私はこの問題について他にどのようなことが書けるか分かりません。
@Edit 私はここだと思うResponseEntityクラス
return new ResponseEntity<ResponseWrapper>(response, HttpStatus.OK);
問題は、私がそれをしているときに何らかの理由で「無限再帰」を得たことです。一方、直列化オブジェクトは決して空ではありません。 – rdabrowski
responeインスタンスから 'Autowired'を削除しようとしています。 –
しかし、私がcorectlyを理解すれば、私はそのbeanのインスタンスを呼び出すことができなくなります – rdabrowski