Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SpringDataREST默认情况下从JSON隐藏技术实体字段(@Version,@Id)。如何像平常一样归还它们?_Java_Json_Spring_Spring Data Rest - Fatal编程技术网

Java SpringDataREST默认情况下从JSON隐藏技术实体字段(@Version,@Id)。如何像平常一样归还它们?

Java SpringDataREST默认情况下从JSON隐藏技术实体字段(@Version,@Id)。如何像平常一样归还它们?,java,json,spring,spring-data-rest,Java,Json,Spring,Spring Data Rest,我有一个基础班 @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;

我有一个基础班

@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;
}

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

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

@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);
        }

    };
}

地址和答案是。。。公开版本已寻址。感谢您发布MappedSuperclass代码,它帮助我发现我没有向其中添加数据注释,即使它是针对我的实体类注册的。截至2020年3月,我只需要补充这些,其他所有的“ExposeID”技术都不是必需的,它们(毫不奇怪)也没有解决我的问题。谢谢!那么@Version呢?我想您不需要它-JPA提供程序直接使用它…我想对嵌套资源应用乐观锁定。没有版本,我只能在匹配顶级资源时应用。
@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);
        }

    };
}