gpt4 book ai didi

java - 默认情况下,Spring Data REST 从 JSON 中隐藏技术实体字段(@Version、@Id)。如何像往常一样归还它们?

转载 作者:行者123 更新时间:2023-12-01 05:31:08 25 4
gpt4 key购买 nike

我有一个基类

@MappedSuperclass
@Data //lombok annotation for getters/setter
public class BaseEntity implements Identifiable<Long> {
@Id @GeneratedValue(strategy = GenerationType.AUTO)
private Long id;

@Version
private Long version;
}

对于任何派生类,Spring Data REST 返回不带“id”和“version”属性的 JSON。

我找到了 2 个解决方案:

  1. 预测。
  2. 使用其他名称添加 getter/setter:

    public Long getRevision() {
    return version;
    }

    public void setRevision(Long revision) {
    this.version = revision;
    }

    public Long getIdentifier() {
    return id;
    }

    public void setIdentifier(Long identifier) {
    this.id = identifier;
    }

这两种解决方案看起来都像是 hack。是否存在更好的方法?

最佳答案

显示实体的 ID 正在 RepositoryRestConfigurerAdapter 中配置:

@Bean
public RepositoryRestConfigurerAdapter repositoryRestConfigurerAdapter() {
return new RepositoryRestConfigurerAdapter() {
/**
* Exposing ID for some entities
*/
@Override
public void configureRepositoryRestConfiguration(RepositoryRestConfiguration config) {
config.exposeIdsFor(MyEntity.class);
super.configureRepositoryRestConfiguration(config);
}

};
}

关于java - 默认情况下,Spring Data REST 从 JSON 中隐藏技术实体字段(@Version、@Id)。如何像往常一样归还它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47717823/

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