
- 在前后端分离的项目中可能存在前端项目的访问端口和后端项目不一致的情况, 这个时候需要我们修改端口为一致的
- 在前后端分离的项目中, 前端项目因为测试的需要会有自己的内部数据数据用于测试验证方案的可行性, 但如果将前后端结合时, 我们的数据都来源于后端, 所以这个时候我们需要将前端自己内部的mock去除, 从而配合后端
解决跨域问题
在前后端分离的项目中即使前后端端口一致, 也不能解决跨域的问题, 还需要在后端中进行配置
- 配置需要跨域的地址
- 配置跨域的请求头
- 配置跨域的请求方法
- 配置跨域请求是否可以携带cookie
如果使用配置类, 那么这个配置将是全局的, 如果使用注解那这个配置只对一个@Controller生效
-
配置类
@Configuration public class CorsConfig { private CorsConfiguration corsConfiguration(){ CorsConfiguration configuration = new CorsConfiguration(); configuration.addAllowedOrigin("*"); configuration.addAllowedHeader("*"); configuration.addAllowedMethod("*"); configuration.setAllowCredentials(true); return configuration; } @Bean public CorsFilter corsFilter(){ UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); source.registerCorsConfiguration("/**",corsConfiguration()); return new CorsFilter(source); } }
-
注解
@Controller @CrossOrigin(origins = "*",allowedHeaders = "*",allowCredentials = "true") public class TestController { @RequestMapping("/auth/login") public String test(){ System.out.println("===test==="); return "hello"; } }