Spring Data REST事件不起作用
我尝试按照以下方式配置spring数据rest事件。所有类都在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'}"
正如评论中所提到的,在POST请求的情况下应该调用HandleBeforeCreate
。 HandleBeforeSave
事件将在PUT请求时触发。