WebMvcConfig.java 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package com.yingying.tourist.config;
  2. import org.springframework.beans.factory.annotation.Autowired;
  3. import org.springframework.boot.web.servlet.FilterRegistrationBean;
  4. import org.springframework.context.annotation.Bean;
  5. import org.springframework.context.annotation.Configuration;
  6. import org.springframework.web.cors.CorsConfiguration;
  7. import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
  8. import org.springframework.web.filter.CorsFilter;
  9. import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
  10. import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
  11. import com.yingying.tourist.interceptor.WeChatInterceptor;
  12. @Configuration
  13. public class WebMvcConfig extends WebMvcConfigurerAdapter {
  14. @Autowired
  15. private WeChatInterceptor weChatInterceptor;
  16. @Bean
  17. public FilterRegistrationBean corsFilter() {
  18. UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
  19. CorsConfiguration config = new CorsConfiguration();
  20. config.addAllowedOrigin("*");
  21. config.setAllowCredentials(true);
  22. config.addAllowedHeader("*");
  23. config.addAllowedMethod("*");
  24. config.addExposedHeader("x-auth-token");
  25. source.registerCorsConfiguration("/**", config);
  26. FilterRegistrationBean bean = new FilterRegistrationBean(new CorsFilter(source));
  27. bean.setOrder(0);
  28. return bean;
  29. }
  30. @Override
  31. public void addInterceptors(InterceptorRegistry registry) {
  32. registry.addInterceptor(weChatInterceptor).addPathPatterns("/**");
  33. super.addInterceptors(registry);
  34. }
  35. }