content: package com.www.config.cors;
  
  import org.springframework.context.annotation.Bean;
  import org.springframework.context.annotation.Configuration;
  import org.springframework.web.cors.CorsConfiguration;
  import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
  import org.springframework.web.filter.CorsFilter;
  import org.springframework.web.servlet.config.annotation.CorsRegistry;
  import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
  
  /**
   * Created with IntelliJ IDEA 2021.
   *
   * @Author: Mr Qin
   * @Date: 2024/03/25/11:17
   * @Description:
   */
  @Configuration
  public class CorsConfig implements WebMvcConfigurer {
  
      private CorsConfiguration buildConfig() {
          CorsConfiguration corsConfiguration = new CorsConfiguration();
          corsConfiguration.addAllowedOrigin("*");
          corsConfiguration.addAllowedHeader("*");
          corsConfiguration.addAllowedMethod("*");
          corsConfiguration.addExposedHeader("Authorization");
          return corsConfiguration;
      }
  
      @Bean
      public CorsFilter corsFilter(){
          UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
          source.registerCorsConfiguration("/**", buildConfig());
          return new CorsFilter(source);
      }
  
      /**
       * 添加跨域请求映射
       * @param registry
       */
      @Override
      public void addCorsMappings(CorsRegistry registry) {
          registry.addMapping("/**")
                  .allowedOrigins("*")
                  .allowedMethods("GET","POST","DELETE","PUT")
                  .maxAge(3600);
      }
  }
  