Spring数据休息 - 是否存在阻止所有删除操作的全局开关?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring数据休息 - 是否存在阻止所有删除操作的全局开关?相关的知识,希望对你有一定的参考价值。

我目前在存储库中的所有删除操作上使用@RestResource(exported = false)来隐藏删除请求。这在扩展JPA存储库的存储库中显式完成。

是否有全局切换来阻止所有删除操作?

答案

不需要。您需要使用@RestResource(exported = false)注释所有删除操作。

Spring数据文档中的示例:

@RepositoryRestResource(path = "people", rel = "people")
interface PersonRepository extends CrudRepository<Person, Long> {

@Override
  @RestResource(exported = false)
  void delete(Long id);

  @Override
  @RestResource(exported = false)
  void delete(Person entity);
}

说明如下:

如果你想关闭它们,那么请记住你必须使用exported = false注释这两个版本。

因此,默认情况下,如果没有新的,则需要注释所有操作。但是如果你现在非常感兴趣,你可以使用实现它的实现来执行你自己的注释。

另一答案

截至2018年,现在有ability to only expose repository methods explicitly declared for exposure

RepositoryRestConfiguration

以上是关于Spring数据休息 - 是否存在阻止所有删除操作的全局开关?的主要内容,如果未能解决你的问题,请参考以下文章