只需要加上一个注释就可以解决了。
@CrossOrigin: 这个注解用于处理跨域请求。在 Web 应用中,跨域是因为浏览器的同源策略导致的。同源策略规定,在 Ajax 请求中,一个来源的脚本只能访问与自己相同来源的资源,否则就会被拒绝访问。当你需要在你的应用程序中允许跨域资源共享 (CORS),你可以在对应的控制器或者方法上使用 @CrossOrigin
注解。这样,服务器将允许来自任何来源的请求访问这个资源。
示例用法:
@CrossOrigin
@GetMapping("/yourMapping")
public String yourFunction() {
// your code
}
或者加上配置类
@Configuration
public class CorsConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
//添加映射路径
registry.addMapping("/**")
//是否发送Cookie
.allowCredentials(true)
//设置放行哪些原始域 SpringBoot2.4.4下低版本使用.allowedOrigins("*")
.allowedOriginPatterns("*")
//放行哪些请求方式
.allowedMethods(new String[]{"GET", "POST", "PUT", "DELETE"})
//.allowedMethods("*") //或者放行全部
//放行哪些原始请求头部信息
.allowedHeaders("*")
//暴露哪些原始请求头部信息
.exposedHeaders("*");
}
}