java 接口调用跨域
时间: 2024-01-15 13:19:10 浏览: 149
接口跨域问题
在Java中,接口调用跨域可以通过以下两种方式实现:
1. 使用注解@CrossOrigin:在接口的方法上添加@CrossOrigin注解可以实现跨域访问。例如:
```java
@CrossOrigin(origins = "http://example.com")
@RequestMapping("/api")
public interface MyApi {
@GetMapping("/data")
public String getData();
}
```
上述代码中,@CrossOrigin注解指定了允许跨域访问的origin为"http://example.com",这样就可以从该域名下的前端页面访问该接口。
2. 配置CORS过滤器:在项目的配置文件中添加CORS过滤器,可以全局配置跨域访问。例如,在Spring Boot项目中,可以通过以下方式配置CORS过滤器:
```java
@Configuration
public class CorsConfig {
@Bean
public CorsFilter corsFilter() {
CorsConfiguration config = new CorsConfiguration();
config.addAllowedOrigin("*");
config.addAllowedMethod("*");
config.addAllowedHeader("*");
config.setAllowCredentials(true);
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", config);
return new CorsFilter(source);
}
}
```
上述代码中,配置了允许所有origin、所有method和所有header的跨域访问,并且允许携带cookie信息。
阅读全文