springboot跨域配置
时间: 2023-09-09 09:10:16 浏览: 87
在Spring Boot中,可以通过以下方法配置跨域:
1. 在Controller类或者方法上使用@CrossOrigin注解:
```java
@RestController
public class MyController {
@CrossOrigin(origins = "http://localhost:8080")
@GetMapping("/hello")
public String hello() {
return "Hello World";
}
}
```
上面的代码指定了允许来自http://localhost:8080的跨域请求。你也可以使用通配符*来允许所有域名的请求。
2. 在配置类中配置CorsFilter:
```java
@Configuration
public class CorsConfig {
@Bean
public CorsFilter corsFilter() {
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
CorsConfiguration config = new CorsConfiguration();
config.addAllowedOrigin("*");
config.addAllowedHeader("*");
config.addAllowedMethod("*");
source.registerCorsConfiguration("/**", config);
return new CorsFilter(source);
}
}
```
上面的代码配置了允许所有域名,所有请求头,以及所有请求方法的跨域请求。如果你想更加细粒度地控制跨域请求的配置,可以在config中设置更多的参数。
注意:在配置中使用CorsFilter时,需要保证该类已经在Spring应用上下文中被注册了。可以将该类加入到@Configuration类中,或者使用@ComponentScan注解扫描该类。
阅读全文