001package run.iget.framework.common.config; 002 003import java.util.List; 004 005import org.springframework.context.annotation.Bean; 006import org.springframework.context.annotation.Configuration; 007import org.springframework.http.converter.ByteArrayHttpMessageConverter; 008import org.springframework.http.converter.HttpMessageConverter; 009import org.springframework.http.converter.ResourceHttpMessageConverter; 010import org.springframework.http.converter.StringHttpMessageConverter; 011import org.springframework.http.converter.support.AllEncompassingFormHttpMessageConverter; 012import org.springframework.web.cors.CorsConfiguration; 013import org.springframework.web.cors.UrlBasedCorsConfigurationSource; 014import org.springframework.web.filter.CorsFilter; 015import org.springframework.web.servlet.config.annotation.InterceptorRegistry; 016import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; 017 018/** 019 * 代码千万行,注释第一行,注释不规范,迭代两行泪 020 * ---------------类描述----------------- 021 * Web MVC配置 022 * ---------------类描述----------------- 023 * 024 * @author 大周 025 * @date 2023/5/26 21:44 026 */ 027@Configuration 028public class WebConfig implements WebMvcConfigurer { 029 030 @Override 031 public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { 032 converters.add(new ByteArrayHttpMessageConverter()); 033 converters.add(new StringHttpMessageConverter()); 034 converters.add(new ResourceHttpMessageConverter()); 035 converters.add(new AllEncompassingFormHttpMessageConverter()); 036 } 037 038 @Override 039 public void addInterceptors(InterceptorRegistry registry) { 040 // registry.addWebRequestInterceptor(new DesensitizationWebRequestInterceptor()); 041 } 042 043 /** 044 * 配置跨域支持 045 * @return 046 */ 047 @Bean 048 public CorsFilter corsFilter() { 049 final UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); 050 final CorsConfiguration corsConfiguration = new CorsConfiguration(); 051 corsConfiguration.setAllowCredentials(true); 052 corsConfiguration.addAllowedHeader("*"); 053 corsConfiguration.addAllowedOriginPattern("*"); 054 corsConfiguration.addAllowedMethod("*"); 055 source.registerCorsConfiguration("/**", corsConfiguration); 056 return new CorsFilter(source); 057 } 058}