Spring Data REST事件不起作用

时间:2015-06-30 06:03:12

标签: java spring spring-boot spring-data-rest

我尝试按照以下方式配置spring数据休息事件。所有类都在包org.springbootjpa

活动:http://docs.spring.io/spring-data/rest/docs/current/reference/html/#events

以下是我的代码

@SpringBootApplication
public class DemoApplication {

    public static void main(String[] args) {
        ApplicationContext context = SpringApplication.run(
                DemoApplication.class, args);
        String[] beanNames = context.getBeanDefinitionNames();
        Arrays.sort(beanNames);
        for (String beanName : beanNames) {
            System.out.println(beanName);
        }

    }

    @Bean
    GroupEventHandler groupEventHandler() {
        return new GroupEventHandler();
    }
}

事件处理程序

@RepositoryEventHandler(UserGroup.class)
public class GroupEventHandler {

    @HandleBeforeSave
    public void handleGroupSave(UserGroup group) {
        System.out.println("Inside handleGroupSave ....");
    }

    @HandleAfterSave
    public void handleAfterSave(UserGroup group) {
        System.out.println("Inside handleAfterSave ....");
    }

}

实体

@Entity
public class UserGroup {

    @Id
    @GeneratedValue
    private Long groupId;

    @Column
    private String groupName;
..
}

当我将条目发布到userGroups链接时,不会触发侦听器。

post --data "{groupId:1,groupName:'group1'}"

1 个答案:

答案 0 :(得分:2)

如评论中所述,在POST请求的情况下应调用HandleBeforeCreate。 {P}请求将触发HandleBeforeSave事件。