| | |
| | | import com.alibaba.fastjson.serializer.SerializerFeature; |
| | | import com.alibaba.fastjson.support.config.FastJsonConfig; |
| | | import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter; |
| | | import com.lf.server.interceptor.AuthInterceptor; |
| | | import com.lf.server.service.sys.TokenService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.context.annotation.Configuration; |
| | | import org.springframework.http.MediaType; |
| | | import org.springframework.http.converter.HttpMessageConverter; |
| | | import org.springframework.util.AntPathMatcher; |
| | | import org.springframework.web.servlet.config.annotation.*; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.nio.charset.Charset; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * WebConfig |
| | | * Web配置类 |
| | | * @author WWW |
| | | */ |
| | | @Configuration |
| | | public class WebConfig extends WebMvcConfigurationSupport { |
| | | @Autowired |
| | | private TokenService tokenService; |
| | | |
| | | /** |
| | | * 获取拦截器对象 |
| | | * |
| | | * @return |
| | | */ |
| | | public AuthInterceptor getAuthBean() { |
| | | return new AuthInterceptor(tokenService); |
| | | } |
| | | |
| | | /** |
| | | * swagger控制 |
| | | */ |
| | | @Override |
| | | protected void addResourceHandlers(ResourceHandlerRegistry registry) { |
| | | registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/"); |
| | | registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/"); |
| | | registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/"); |
| | | registry.addResourceHandler("/**").addResourceLocations("classpath:/static/"); |
| | | super.addResourceHandlers(registry); |
| | | } |
| | | |
| | | /** |
| | |
| | | @Override |
| | | protected void addCorsMappings(CorsRegistry registry) { |
| | | registry.addMapping("/**") |
| | | .allowCredentials(true) |
| | | .allowedOrigins("*") |
| | | .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS") |
| | | .allowedHeaders("*") |
| | | .allowedMethods("POST", "GET", "PUT", "OPTIONS", "DELETE") |
| | | .maxAge(3600) |
| | | .allowCredentials(true); |
| | | .maxAge(3600); |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | @Override |
| | | protected void addInterceptors(InterceptorRegistry registry) { |
| | | registry.addInterceptor(getAuthBean()) |
| | | // .excludePathPatterns("/swagger", "/webjars/**", "/v2/**", "/sign/**") |
| | | .addPathPatterns("/**"); |
| | | super.addInterceptors(registry); |
| | | } |
| | | |
| | |
| | | @Override |
| | | public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { |
| | | FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter(); |
| | | FastJsonConfig fastJsonConfig = new FastJsonConfig(); |
| | | fastJsonConfig.setSerializerFeatures( |
| | | FastJsonConfig config = new FastJsonConfig(); |
| | | config.setSerializerFeatures( |
| | | SerializerFeature.WriteNullListAsEmpty, |
| | | SerializerFeature.WriteMapNullValue, |
| | | SerializerFeature.WriteNullStringAsEmpty, |
| | | //SerializerFeature.WriteNullStringAsEmpty, |
| | | SerializerFeature.WriteNullNumberAsZero, |
| | | SerializerFeature.WriteNullBooleanAsFalse); |
| | | // 结果是否格式化,默认为false |
| | | //SerializerFeature.PrettyFormat); |
| | | |
| | | List<MediaType> fastMediaTypes = new ArrayList<>(); |
| | | converter.setSupportedMediaTypes(fastMediaTypes); |
| | | |
| | | converter.setFastJsonConfig(fastJsonConfig); |
| | | converter.setFastJsonConfig(config); |
| | | converter.setDefaultCharset(Charset.forName("UTF-8")); |
| | | converters.add(converter); |
| | | } |
| | | } |