簡體   English   中英

Spring /帶注釋的字段導致找不到類的序列化程序

[英]Spring / Annotated field causes No serializer found for class

讓我們假設一個簡單的User類(僅用於示例的公共字段)是這樣的:

public class User {
   public UserId userId; 
}

public class UserId {
   public String value = "1"; //hardcoded for the example
}

當Spring必須進行序列化才能進行涉及User對象的遠程調用時, UserId字段可以很好地序列化為"1"

但是,當我用一些Spring注釋UserId字段進行注釋時 ,在我的案例中, @Indexed來自Spring-Data-Neo4j @Indexed ,我得到了這個堆棧:

RuntimeException: : org.codehaus.jackson.map.JsonMappingException: No serializer found for class com.model.user.UserId and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationConfig.Feature.FAIL_ON_EMPTY_BEANS) ) (through reference chain: java.util.HashMap["value"])  (JsonHelper.java:77)
[error] org.neo4j.rest.graphdb.util.JsonHelper.createJsonFrom(JsonHelper.java:77)
[error] org.neo4j.rest.graphdb.ExecutingRestRequest.post(ExecutingRestRequest.java:140)
[error] org.neo4j.rest.graphdb.ExecutingRestAPI.addToIndex(ExecutingRestAPI.java:410)
[error] org.neo4j.rest.graphdb.RestAPIFacade.addToIndex(RestAPIFacade.java:166)
[error] org.neo4j.rest.graphdb.index.RestIndex.add(RestIndex.java:60)

注釋似乎導致此中斷。 這有充分的理由嗎? 盡管存在注釋,有沒有一種方法可以序列化它?

為您的自定義類添加一個序列化器/轉換器,並在上下文中注冊它。

除非您告訴傑克遜,否則傑克遜不知道如何將您的課程轉換為傑森。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM