在url中使用id删除的Spring数据剩余部分未调用deleteById方法

时间:2019-01-12 18:37:02

标签: spring spring-data-jpa spring-data-rest

我正在实现Spring Data Rest,并且当使用DELETE方法调用时,我的资源的默认删除端点为/ table / {id}。我的存储库接口扩展了PagingAndSortingRepositoryQuerydslPredicateExecutor,因此具有以下覆盖的删除方法:

  1. deleteById(@NonNull ID ID);
  2. delete(@NonNull T实体);
  3. deleteAll(@NonNull可迭代实体);
  4. deleteAll();

在调用上述端点时,我发现Spring正在调用findById,然后以某种方式通过entity调用delete(entity)作为findById的结果。这给我带来了安全方面的麻烦,因为这要求用户对findById(仅对某些角色具有许可)和delete(对不同角色所允许)具有许可。

当对路径中ID为ID的默认端点进行DELETE方法调用时,我该怎么做让spring使用deleteById呢?

0 个答案:

没有答案