Java解决请求跨域问题
跨域是什么?
跨域(Access-Control-Allow-Origin),指的是由浏览器的同源策略造成的,是浏览器施加的安全限制。所谓同源是指,域名,协议,端口均相同;所有只要域名,协议,端口有所不同就会出现跨域问题
java后台解决方案
- 使用注解方式解决单个请求
直接在Controller上添加 @CrossOrigin 注解(Controller太多显的很繁琐)
@RestController
@CrossOrigin
@RequestMapping("/api/device")
@Api(tags = "设备")
@Slf4j
public class DeviceController{
...
}
- 使用配置全局配置的方式(操作简单,解决全部跨域)
/**
* 跨域配置
*/
@Configuration
public class CorsConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
//是否发送Cookie
.allowCredentials(true)
//放行哪些原始域
.allowedOrigins("*")
.allowedMethods("*")
.allowedHeaders("*");
}
}