Итак, вы ожидаете, что ваш обработчик событий вызывается при использовании пользовательского контроллера. Я думаю, что это ожидание ложно. Обработчик событий вызывается только тогда, когда весенние данные остаются RepositoryEntityController
. Это не слушатель событий сущности на уровне JPA.
Что вы можете сделать, это вызвать обработчик событий вручную. Весна-данные-отдых RepositoryEventHandler
- это использование обычных событий весеннего приложения. Таким образом, ваш контроллер может реализовать ApplicationEventPublisherAware
и опубликовать одно из событий приложения для отдыха с пружинными данными. Это все подклассы org.springframework.data.rest.core.event.RepositoryEvent
applicationEventPublisher.publishEvent(new AfterCreateEvent(myEntity));
spring documentation ВИДЕТЬ для деталей.
Основываясь на доступной документации, я не думаю, что новый пользователь должен сделать это предположение, если их контроллер аннотируется с помощью '@ RepositoryRestController'. Это, в конце концов, называется '@ RepositoryEventHandler', а не' @ RepositoryControllerEventHandler' – Snekse
@Snekse, что может быть так - я могу просто сказать вам, что это не так, - но я подробно рассказал о своем ответе на информацию о том, как вы могли все еще используют 'RepositoryEventHandler' в вашем настраиваемом контроллере. –
Как сказал Матиас, вы можете публиковать свои собственные события. Убедитесь, что вы обрабатываете их все (До, После, Создать, Сохранить, Список, Удалить). Вот еще один хороший пример. http://stackoverflow.com/a/37616850/378151 В нашем проекте у нас есть MyEntityValidator, который мы вызываем из контроллера, а также обработчик события Repo. – Snekse