springboot

springboot怎么设置允许跨域

小亿
337
2023-11-09 15:26:41
栏目: 编程语言

在Spring Boot中允许跨域请求,可以通过以下几种方式来设置:

  1. 使用@CrossOrigin注解:在Controller类或方法上使用@CrossOrigin注解来允许跨域请求。可以指定允许的域名、允许的请求方法等。示例代码如下:
@RestController
@CrossOrigin(origins = "http://localhost:8080")
public class MyController {

    @GetMapping("/data")
    public String getData() {
        // ...
    }
}
  1. 配置CorsFilter:在Spring Boot中创建一个CorsFilter来设置允许跨域请求。可以在配置类中添加以下代码:
@Configuration
public class CorsConfig {

    @Bean
    public CorsFilter corsFilter() {
        CorsConfiguration config = new CorsConfiguration();
        config.addAllowedOrigin("http://localhost:8080");
        config.addAllowedMethod("*");
        config.addAllowedHeader("*");

        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        source.registerCorsConfiguration("/**", config);

        return new CorsFilter(source);
    }
}
  1. 使用WebMvcConfigurer配置:可以通过实现WebMvcConfigurer接口来添加全局的跨域配置。示例代码如下:
@Configuration
public class CorsConfig implements WebMvcConfigurer {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
                .allowedOrigins("http://localhost:8080")
                .allowedMethods("*")
                .allowedHeaders("*");
    }
}

以上这些方法都可以实现跨域请求的设置,根据实际需求选择其中一种方式即可。

0
看了该问题的人还看了