使用Spring Data Rest时公开所有ID

我想使用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

回答:

当前,SDR无法提供此功能。SDR Jira跟踪器上的此问题说明了为什么无法(也许不应该)的原因。

从根本上讲,由于ID已包含在self响应的链接中,因此你无需将ID 公开为对象本身的属性。

也就是说,你也许可以使用反射来检索所有具有javax.persistence.Id注释的类,然后调用RepositoryRestConfiguration#exposeIdsFor(Class<?>... domainTypes)

以上是 使用Spring Data Rest时公开所有ID 的全部内容, 来源链接: utcz.com/qa/422186.html

回到顶部