繁体   English   中英

如何使用Spring Data Rest公开resourceId

[英]How to expose the resourceId with Spring Data Rest

我曾经暴露了在实体中使用@Id注释的主键.ID字段仅在资源路径上可见,但在JSON主体上不可见。

您可以在实体级别使用RepositoryRestConfigurerAdapter进行配置。

@Configuration
public class ExposeEntityIdRestConfiguration extends RepositoryRestConfigurerAdapter {

    @Override
    public void configureRepositoryRestConfiguration(RepositoryRestConfiguration config) {
        config.exposeIdsFor(MyEntity.class);
    }
}

请注意,使用这个你正在违反spring-data-rest的原则 - sdr促使超媒体能够通过使用链接在资源之间导航来使用API​​ - 这里你的资源被链接识别和引用,因此id不是需要了。 在客户端上使用ID会将构建资源链接的复杂性推向客户端。 客户不应该被这些知识所困扰。

最好的解决方案是不使用实体的ID,并使用超媒体提供的链接引用。 您只需要根据Spring Data Rest使用的HAL规范解析JSON。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM