WebMvcConfig.java 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. package com.ym.mec.teacher.config;
  2. import com.ym.mec.common.config.EnumConverterFactory;
  3. import com.ym.mec.common.config.LocalFastJsonHttpMessageConverter;
  4. import com.ym.mec.teacher.interceptor.MDCInterceptor;
  5. import com.ym.mec.teacher.interceptor.OperationLogInterceptor;
  6. import com.ym.mec.teacher.interceptor.TenantInterceptor;
  7. import org.springframework.beans.factory.annotation.Autowired;
  8. import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
  9. import org.springframework.context.annotation.Bean;
  10. import org.springframework.context.annotation.Configuration;
  11. import org.springframework.format.FormatterRegistry;
  12. import org.springframework.http.MediaType;
  13. import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
  14. import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
  15. import java.util.ArrayList;
  16. import java.util.List;
  17. @Configuration
  18. public class WebMvcConfig implements WebMvcConfigurer {
  19. @Autowired
  20. private MDCInterceptor mdcInterceptor;
  21. @Autowired
  22. private OperationLogInterceptor operationLogInterceptor;
  23. @Autowired
  24. private TenantInterceptor tenantInterceptor;
  25. @Override
  26. public void addInterceptors(InterceptorRegistry registry) {
  27. List<String> includePathPatterns = new ArrayList<String>();
  28. includePathPatterns.add("/**");
  29. List<String> excludePathPatterns = new ArrayList<String>();
  30. excludePathPatterns.add("/login");
  31. registry.addInterceptor(tenantInterceptor).addPathPatterns("/**");
  32. registry.addInterceptor(mdcInterceptor).addPathPatterns(includePathPatterns).excludePathPatterns(excludePathPatterns);
  33. // registry.addInterceptor(operationLogInterceptor).addPathPatterns("/**").excludePathPatterns("/login");
  34. }
  35. /**
  36. * 枚举类的转换器 addConverterFactory
  37. */
  38. @Override
  39. public void addFormatters(FormatterRegistry registry) {
  40. registry.addConverterFactory(new EnumConverterFactory());
  41. }
  42. @Bean
  43. public HttpMessageConverters fastJsonHttpMessageConverters(){
  44. LocalFastJsonHttpMessageConverter converter = new LocalFastJsonHttpMessageConverter();
  45. List<MediaType> fastMediaTypes = new ArrayList<MediaType>();
  46. fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
  47. converter.setSupportedMediaTypes(fastMediaTypes);
  48. return new HttpMessageConverters(converter);
  49. }
  50. }