vue springboot跨域问题
时间: 2023-09-02 12:15:28 浏览: 137
springboot vue 跨域问题的解决
在 Vue 和 Spring Boot 组合开发中,前端 Vue 应用和后端 Spring Boot 服务之间存在跨域问题,需要进行相应的配置来解决。
以下是一种常见的解决方案:
1. 在 Vue 项目中,安装 axios 或者其他 HTTP 请求库来发送请求。
2. 在 Vue 项目的配置文件(vue.config.js 或者 nuxt.config.js)中,添加代理配置,将前端请求代理到后端服务。示例如下:
```javascript
module.exports = {
devServer: {
proxy: {
'/api': {
target: 'http://backend-server:port', // 后端服务的地址和端口
changeOrigin: true,
pathRewrite: {
'^/api': '' // 如果后端接口的路径有前缀,可以通过这里进行重写
}
}
}
}
}
```
3. 在后端的 Spring Boot 项目中,添加跨域配置。可以使用 @CrossOrigin 注解标注在控制器类或者方法上,也可以通过配置类进行全局跨域设置。示例如下:
```java
@RestController
@CrossOrigin(origins = "http://frontend-server:port") // 允许访问的前端域名和端口
public class MyController {
// 控制器方法
}
```
或者使用配置类进行全局跨域设置:
```java
@Configuration
public class CorsConfig implements WebMvcConfigurer {
@Override
阅读全文