0

我有一份主要文件:

@Document
public class MainDocument {
    private String name;
    private String desc;
    private List<Nested> nestedList;
    -- More fields/methods --
}

和一个嵌入的文档:

@Document
public class Nested {
    private String nestedUser;
    private String nestedTitle;
    -- More fields/methods --
}

当尝试在 中存储嵌套类的新实例时,嵌套类List<Nested>的字段被重命名。例如,nestedTitle变成title。除了不允许我设置一些重命名字段的值之外,这不会是什么大问题。

我已尝试使用@Field("field_name")注释,但字段仍将被重命名并忽略设置其值的尝试。

什么会导致某些字段被重命名?我错过了什么吗?大约一半的字段被重命名,其余的保持正确的名称......

我正在通过使用 POSTMAN 将 JSON 请求发送到主文档的控制器进行测试。即使我在 JSON 请求中使用新的字段名称,该值仍然不会被设置。

4

1 回答 1

1

弄清楚了...

getter 方法nestedTitle被命名getTitle(),因此它根据 getter 方法名称对其进行重命名。更改为getNestedTitle()并停止重命名。更改了相关字段的其他 getter 方法,现在一切都按预期工作。

不知道为什么它会根据方法名称重命名该字段,但我是谁来判断 Spring... 发布此答案以节省其他人几个小时的时间。

于 2018-02-17T23:00:44.203 回答