springboot项目怎么解决跨域
时间: 2023-11-16 13:15:57 浏览: 109
在Spring Boot项目中解决跨域问题有多种方法。一种方法是在代码中进行配置,另一种方法是使用注解。以下是两种常用的解决方案:
1. 在代码中进行配置:
在Spring Boot项目中,可以通过在配置类或者配置文件中添加相关配置来解决跨域问题。例如,在配置类中添加如下配置:
```
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**") // 设置允许跨域的路径
.allowedOrigins("*") // 设置允许跨域请求的域名
.allowedMethods("GET", "POST", "PUT", "DELETE") // 设置允许的请求方法
.allowCredentials(true) // 设置是否允许发送Cookie
.maxAge(3600); // 跨域允许时间
}
}
```
这样配置之后,就可以允许任何域名的请求访问你的接口了。
2. 使用注解:
另一种方法是使用注解来解决跨域问题。在控制器的方法上添加`@CrossOrigin`注解,可以指定允许跨域的域名、请求方法等。
```
@RestController
public class MyController {
@CrossOrigin(origins = "*", methods = {RequestMethod.GET, RequestMethod.POST})
@GetMapping("/example")
public String example() {
return "Hello, world!";
}
}
```
在上述例子中,使用`@CrossOrigin`注解设置允许所有域名的GET和POST请求跨域访问。你可以根据自己的需求进行配置。
以上是两种常见的解决跨域问题的方法。你可以根据实际情况选择合适的方法来解决你的问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [SpringBoot 中到底如何解决跨域问题?](https://blog.csdn.net/likun557/article/details/122572011)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文