大佬教程收集整理的这篇文章主要介绍了使用Spring Data Rest时公开所有ID,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
当前,SDR无法提供此功能。SDR Jira跟踪器上的此问题说明了为什么无法(也许不应该)的原因。
从根本上讲,由于ID已包含在self
响应的链接中,因此你无需将ID 公开为对象本身的属性。
也就是说,你也许可以使用反射来检索所有具有javax.persistence.ID注释的类,然后调用RepositoryRestConfiguration#exposEIDsFor(Class<?>... domainTypes)
。
如果要公开所有实体类的ID字段,请执行以下操作:
import java.util.stream.Collectors;
import javax.persistence.Entitymanager;
import org.springframework.beans.factory.Annotation.autowired;
import org.springframework.context.Annotation.Configuration;
import org.springframework.data.rest.core.config.RepositoryRestConfiguration;
import org.springframework.data.rest.webmvc.config.RepositoryRestConfigurerAdapter;
@Configuration
public class MyRepositoryRestConfigurerAdapter extends RepositoryRestConfigurerAdapter {
@autowired
private Entitymanager entitymanager;
@OverrIDe
public voID configureRepositoryRestConfiguration(RepositoryRestConfiguration config) {
config.exposEIDsFor(entitymanager.getmetamodel().getEntitIEs().stream().map(e -> e.getJavaType()).collect(Collectors.toList()).toArray(new Class[0]));
}
}
我想使用Spring Rest界面公开所有ID。
我知道默认情况下,这样的ID不会通过rest接口公开:
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@column(unique=true,nullable=False)
private Long id;
我知道我可以使用它来公开ID User
:
@Configuration
public class RepositoryConfig extends RepositoryRestMvcConfiguration {
@Override
protected void configureRepositoryRestConfiguration(RepositoryRestConfiguration config) {
config.exposEIDsFor(User.class);
}
}
但是,有没有一种简便的方法可以在不手动维护此列表的情况下公开所有ID configureRepositoryRestConfiguration
?
以上是大佬教程为你收集整理的使用Spring Data Rest时公开所有ID全部内容,希望文章能够帮你解决使用Spring Data Rest时公开所有ID所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。