を役に立てば幸い
私のコントローラへの呼び出しを傍受することは可能ですか?
特定のURI /コントローラの呼び出しをインターセプトするためだけにインターセプタを定義できます。
registry.addInterceptor(new MyInterceptor()).addPathPatterns("/your/uri");
完全なコード:
@Configuration
public class AnnotationSecurityConfiguration extends WebMvcConfigurerAdapter {
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new MyInterceptor()).addPathPatterns("/your/uri");
}
}
public class MyInterceptor implements HandlerInterceptor {
@Override
public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3) throws Exception {
System.out.println("afterCompletion");
}
@Override
public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3) throws Exception {
System.out.println("postHandle");
}
@Override
public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2) throws Exception {
System.out.println("preHandle");
return true;
}
}
をあなたは春のアスペクトを試していけない理由
は、これはあなたのインターセプタこの方法を追加することによって行われていますか? – imoteb
私はこの動作が必要なケースが1つしかありません。また、私はSpring Bootでこのような基本的なことが可能であると確信しています。 – T3rm1
コントローラBeanの作成前後で何かを作成したい場合は、BeanPostProcessorを使用することもできますが、コントローラーコールではなく、その場合にのみトリガーされます。 – nowszy94