在 Spring Boot 中解决跨域问题可以采用以下两种方式:

  1. 使用 @CrossOrigin 注解

在控制器类或方法上添加 @CrossOrigin 注解即可实现跨域访问控制。例如:

@CrossOrigin(origins = "http://localhost:8080")
@RestController
public class MyController {

    @GetMapping("/hello")
    public String getHello() {
        return "Hello, World!";
    }
}

这样,客户端就可以从 http://localhost:8080 访问该控制器的 /hello 接口了。

  1. 配置 CORS 过滤器

在 Spring Boot 中,可以通过配置一个 CORS 过滤器来控制跨域访问。具体做法是在启动类中添加以下代码:

@Bean
public FilterRegistrationBean corsFilter() {
    UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
    CorsConfiguration config = new CorsConfiguration();
    config.setAllowCredentials(true);
    config.addAllowedOrigin("*");
    config.addAllowedHeader("*");
    config.addAllowedMethod("*");
    source.registerCorsConfiguration("/**", config);
    FilterRegistrationBean bean = new FilterRegistrationBean(new CorsFilter(source));
    bean.setOrder(Ordered.HIGHEST_PRECEDENCE);
    return bean;
}

以上代码会将跨域访问策略配置为允许任何来源、任何头部、任何方法,并且允许携带凭证。你也可以根据需要进行调整。

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: Spring