@Configuration
public class InterceptorConfig extends WebMvcConfigurerAdapter {
@Bean
public LoginInterceptor getLoginInt ( ) {
return new LoginInterceptor ( ) ;
}
@Override
public void addInterceptors ( InterceptorRegistry registry) {
registry. addInterceptor ( getLoginInt ( ) ) . addPathPatterns ( "/**/**" ) ;
super . addInterceptors ( registry) ;
}
}
public class LoginInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle ( HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
System. out. println ( "拦截到请求,添加headers" ) ;
String origin = request. getHeader ( "Origin" ) ;
response. setHeader ( "Access-Control-Allow-Origin" , origin) ;
response. setHeader ( "Access-Control-Allow-Methods" , "POST, GET, OPTIONS, DELETE" ) ;
response. setHeader ( "Access-Control-Max-Age" , "3600" ) ;
response. setHeader ( "Access-Control-Allow-Headers" , "Authentication,Origin, X-Requested-With, Content-Type, Accept,token" ) ;
response. setHeader ( "Access-Control-Allow-Credentials" , "true" ) ;
String method = request. getMethod ( ) ;
if ( method. equalsIgnoreCase ( "OPTIONS" ) ) {
response. getOutputStream ( ) . write ( "Success" . getBytes ( "utf-8" ) ) ;
}
return true ;
}
@Override
public void postHandle ( HttpServletRequest request, HttpServletResponse response, Object handler,
ModelAndView modelAndView) throws Exception {
}
@Override
public void afterCompletion ( HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
throws Exception {
}
}