gpt4 book ai didi

java - Spring/带注释的字段导致找不到类的序列化器

转载 作者:行者123 更新时间:2023-12-01 13:41:18 26 4
gpt4 key购买 nike

让我们假设一个简单的 User 类(具有仅用于示例的公共(public)字段),如下所示:

public class User {
public UserId userId;
}

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

当 Spring 必须要求序列化才能进行涉及 User 对象的远程调用时,UserId 字段可以很好地序列化为 "1".

但是,当我使用一些Spring注释注释UserId字段时,在我的例子中来自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)

注释似乎会导致这个问题。这有充分的理由吗?尽管存在注释,有没有办法序列化它?

最佳答案

为您的自定义类添加序列化器/转换器,并在上下文中注册它。

Jackson 不知道如何将你的类转换为 Json,除非你告诉它如何转换。

关于java - Spring/带注释的字段导致找不到类的序列化器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20748792/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com