我有一個MVC Java配置,但HandlerInterceptor
不排除一些模式。MVC Java配置 - HandlerInterceptor不包括路徑
在生產線打上XXX,如果
1)我想補充兩個addPatterns("/**")
和excludePathPatterns("*.ecxld")
到HandlerInterceptor
的InterceptorRegistration
,該HandlerInterceptor.preHanlde()
不會被調用的。 e.g .addPathPatterns("/**").excludePathPatterns("*.ecxld")
2)I只添加excludePathPatterns("*.ecxld")
到HandlerInterceptor
的InterceptorRegistration
,仍然執行HandlerInterceptor.preHanlde()
。
(其他攔截器調用正常)。
任何指針讚賞。
感謝
@Configuration
public class MyMVCConfigurerAdapter extends WebMvcConfigurerAdapter {
@Override
public void addInterceptors(final InterceptorRegistry registry) {
registry.addInterceptor(getInterceptorOne());
registry.addInterceptor(getMyHandlerInterceptor())
.excludePathPatterns("*.ecxld"); // **xxx**
registry.addInterceptor(getInterceptorTwo()
);
}
感謝您的評論。我試過這個。但它仍然不排除前處理器的路徑。 ps添加模式的方法是'.addPathPatterns()' – solarwind
奇怪的是,它在我的測試用例中起作用,如果我只是嘗試匹配。啓用DEBUG或TRACE日誌記錄,並檢查請求處理過程中發生了什麼。 –