Spring Data RestとJPAを使用してプロジェクトに取り掛かり、HTTPインターセプタを設定しようとしています。Spring Data REST URLでSpringインターセプタが動作しない
@Configuration
public class WebMvcConfig extends WebMvcConfigurerAdapter {
@Autowired
DBEditorTenantInterceptor dbEditorTenantInterceptor;
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(dbEditorTenantInterceptor)
.addPathPatterns("/**");
}
}
Spring Web MVC Docs - Config Interceptorsで説明したように(、次いで
@Component
public class DBEditorTenantInterceptor extends HandlerInterceptorAdapter {
Logger logger = LoggerFactory.getLogger(DBEditorTenantInterceptor.class);
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
logger.debug("********** INTERCEPTION SUCCESSFUL **********");
return true;
}
}
およびWebMvcConfigを拡張することによってインターセプタ登録:参照ドキュメントに従って、Spring Web MVC Docs - Handler Mapping Interceptorで利用可能 は、私は次のようにHandlerInterceptorAdapterを拡張するコンポーネントを作成し/ helloworldなどのSpring Data RESTで使用されていないURLにHTTPリクエストを発行すると、ロガー出力が表示されるので、インターセプタは正常に動作します。
017-10-26 13:16:24.689 DEBUG 17012 --- [p-nio-80-exec-4] c.c.v.d.DBEditorTenantInterceptor : ********** INTERCEPTION SUCCESSFUL **********
ただし、春のデータ休憩でURLを使用すると、私の迎撃は呼び出されません。これは、/ api/{モデル内の既存のエンティティ}のようなすべてのURLに適用されます。
なぜ私のインターセプタはSpring Data Rest URLに対して呼び出されませんか?インターセプタをすべてのリクエストに対応させるにはどうすればよいですか?
ありがとうございます。