MyWebMvcConfig.java 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package com.seecoder.BlueWhale.Configure;
  2. import org.springframework.beans.factory.annotation.Autowired;
  3. import org.springframework.context.annotation.Configuration;
  4. import org.springframework.web.servlet.config.annotation.CorsRegistry;
  5. import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
  6. import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
  7. /**
  8. * @Author: DingXiaoyu
  9. * @Date: 0:17 2023/11/26
  10. *
  11. * 这个类实现了WebMvcConfigurer接口,
  12. * 表示会被SpringBoot接受,
  13. * 这个类有两个作用:配置拦截器和跨域。
  14. * addInterceptors方法配置了拦截器,
  15. * 添加了loginInterceptor作为拦截器,
  16. * 并且设置除了register和login的所有接口都需要通过该拦截器。
  17. * addCorsMappings方法配置了跨域,
  18. * 表示任何格式的请求都能通过,
  19. * 包括了请求地址、请求端域名、请求方法(GET、POST等)、请求头。
  20. */
  21. @Configuration
  22. public class MyWebMvcConfig implements WebMvcConfigurer {
  23. @Autowired
  24. LoginInterceptor loginInterceptor;
  25. @Override
  26. public void addInterceptors(InterceptorRegistry registry) {
  27. registry.addInterceptor(loginInterceptor)
  28. .addPathPatterns("/**")
  29. .excludePathPatterns("/api/user/register")
  30. .excludePathPatterns("/api/user/login")
  31. .order(1);
  32. }
  33. @Override
  34. public void addCorsMappings(CorsRegistry registry) {
  35. registry.addMapping("/**")
  36. .allowedOrigins("*")
  37. .allowedMethods("*")
  38. .allowedHeaders("*");
  39. }
  40. }