spring boot 2 解决跨域问题
时间: 2023-10-08 17:05:58 浏览: 202
在 Spring Boot 2 中,你可以使用以下方法来解决跨域问题:
1. 使用 `@CrossOrigin` 注解:在控制器类或具体的请求处理方法上添加 `@CrossOrigin` 注解来启用跨域访问。你可以使用该注解来指定允许访问的来源、方法和自定义的头信息等。
```java
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@CrossOrigin(origins = "http://example.com")
public class MyController {
@GetMapping("/api/data")
public String getData() {
// 处理请求
}
}
```
2. 使用全局配置类:创建一个全局配置类来配置跨域访问的规则,并注册为一个 Bean。
```java
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class CorsConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("http://example.com")
.allowedMethods("GET", "POST", "PUT", "DELETE")
.allowedHeaders("*");
}
}
```
以上方法都可以实现跨域访问的配置。你可以根据具体需求选择合适的方法来解决跨域问题。请确保在安全性和实际需求之间做出适当的权衡和配置。
阅读全文