我使用@RepositoryRestResource的spring data rest,其中所有动词都自动处理系统中的所有实体。
我的项目不需要控制器。
但是我确实希望在对实体进行GET调用之前执行某些操作。在不编写自定义控制器的情况下,最好的方法是什么?
我可以在Spring Data Rest中编写事件处理程序,如@HandleAfterDelete,但没有GET处理程序。
恐怕目前没有解决方案可以在框架本身之外提供这一点。然而,有一个拉请求被讨论过,但尚未实现,因为关于findBy*
方法的通用性仍然存在开放的问题。
如果您不需要通用解决方案,那么建议使用HandlerInterceptor
…
public class YourInterceptor extends HandlerInterceptorAdapter {
@Override
public boolean preHandle(final HttpServletRequest request, final HttpServletResponse response, final Object handler) throws Exception {
// decide on request.getMethod() what to do next
}
}