springboot怎么解决跨域问题
时间: 2023-10-18 18:17:17 浏览: 105
在Spring Boot中,可以使用CorsFilter类和@CrossOrigin注解来解决跨域问题。
CorsFilter是一个过滤器,可以在请求到达控制器之前截取请求并添加CORS(跨域资源共享)响应头。在Spring Boot中,可以通过如下代码将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);
}
}
```
@CrossOrigin注解可以在控制器类或方法上使用,指定允许跨域的源、头部、方法等。例如:
```java
@RestController
@CrossOrigin(origins = "*", maxAge = 3600)
public class MyController {
@GetMapping("/hello")
public String hello() {
return "Hello World!";
}
}
```
以上代码将允许所有源跨域访问/hello接口,并允许所有头部和所有方法。
阅读全文