我正在使用spring-data-rest存储库来从REST API公开常见的CRUD操作。
但是我需要为这些操作添加其他功能。
e.g。我想将删除的HTTP请求发送给第三方API。
我想知道如何覆盖JpaRepository(或任何其他数据休息回购)提供的某些方法的行为
还不确定这是否应在存储库级别实现或提供自定义控制器......在这种情况下,我担心如何禁用对存储库端点的访问,以便所有操作都通过我的代码。
答案 0 :(得分:2)
spring-data-rest
支持events。
您可以扩展AbstractRepositoryEventListener
或使用@RepositoryEventHandler
注释的类。
在你的情况下,它将是:
public class AfterDeleteEventListener extends AbstractRepositoryEventListener {
@Override
public void onAfterDelete(Object entity) {
//your code here
}
}
或
@RepositoryEventHandler (MyClass.class)
public class MyEventHandler {
@HandleAfterDelete
public void handleDelete(MyClass p) {
// your code here
}
}