vue.js+springboot 解决跨域问题

本文详细介绍了如何在Vue.js项目中配置代理以解决跨域问题,通过修改config/index.js文件中的proxyTable属性,实现前后端分离开发环境下的数据交互。

vue.js 中自带解决方案,后端正常接收就可以了,这里就改vue.js项目就可以

在vue.js项目中的config文件夹中的index.js文件
找到

proxyTable: {},

加上代理内容

proxyTable: {
      '/api': {   //这里/api就是代表在使用/api前缀时会引用target,就是发送/api/list请求就是发送http://10.1.0.0:8762/api/list
        target: 'http://10.1.0.0:8762',
        changeOrigin: true,
        pathRewrite: {
            '^/api': '/yjj/Log'  //这里可以不写,但是我的后端接口没有http://10.1.0.0:8762/api/list,只有http://10.1.0.0:8762/yjj/Log/list,所以我用了,就是将api重写成/yjj/Log
        }
      }
    },

axios发送方法

methods: {
        add(form){
            this.$axios
            .post('/api/insertSelective', this.form)
            .then(successResponse => {
                console.log(successResponse)
            })
            .catch(failResponse => {})
        }
    }

此时如果发现get请求可以正常交流数据,说明代理成功了

但是如果发现post请求报500,可能是数据格式的问题,此时检查下自己有没有改变请求头的设置,比如:

axios.defaults.headers.post["Content-type"] = "application/json"

如果有,就注释掉,用默认的,后端用@RequestBody接收就可以了

如果还有问题可以留言

<think>好的,我需要回答用户关于使用Vue.js和Spring Boot构建信息管理系统时的框架组成的问题。首先,我需要回顾用户提供的引用内容,特别是引用[1]、[2]、[4],这些提到了Spring Boot和Vue.js的结合使用,以及相关的技术细节。 首先,我应该分别介绍前端和后端使用的框架和工具。前端方面,Vue.js是核心,可能需要提到Vue Router、Vuex、Axios、UI框架如Element UI或Vant,以及构建工具Vue CLI和Vite。后端方面,Spring Boot是基础,需要涵盖Spring MVC、Spring Data JPA或MyBatis,安全框架Spring Security,依赖管理Maven或Gradle,数据库如MySQL,以及中间件如Redis和RabbitMQ。 然后,需要整合前后端,讨论前后端交互使用的RESTful API、解决方案如CORS或代理,以及接口文档工具Swagger。部署方面,可以提到Nginx、Docker和Jenkins。 同时,需要确保回答结构清晰,分点列出各个部分,并引用提供的参考资料。例如,在提到Spring Boot项目搭建时引用[1],在讨论全栈开发时引用[4],在优化时提到JIT参数引用[3]。 还需要注意用户提到的系统级指令,比如数学公式的正确使用,但在这个问题中可能不太涉及数学内容,所以可能不需要特别处理。最后,生成相关问题,确保问题与主题相关,帮助用户深入理解。 现在需要检查是否有遗漏的部分,比如测试框架、日志管理,或者持续集成工具,这些在引用中提到的内容是否需要包含。引用[4]提到了测试环节,可以加入JUnit和Mockito。日志方面可能有Spring Boot自带的Logback,引用[3]提到了JIT参数,可能属于性能优化部分。 最后,确保回答符合中文要求,技术术语正确,结构清晰,分点明确,并正确标注引用来源。</think>在使用Vue.js和Spring Boot构建信息管理系统时,框架组成通常分为前端、后端和辅助工具三个部分,具体结构如下: --- ### 一、前端框架(Vue.js生态) 1. **核心框架** - **Vue.js 3.x**:基于组合式API的响应式开发框架[^4] - **Vue Router**:实现单页面应用(SPA)路由管理 - **Vuex/Pinia**:状态管理模式(如权限状态、全局配置) 2. **辅助工具链** - **Vue CLI/Vite**:项目脚手架和构建工具 - **Axios**:处理HTTP请求,与后端API交互[^4] - **Element UI/Vant**:UI组件库(根据项目选择桌面端或移动端) 3. **扩展工具** - **TypeScript**:增强代码类型安全 - **ESLint/Prettier**:代码规范检查 - **Webpack**:模块打包(Vue CLI默认集成) --- ### 二、后端框架(Spring Boot生态) 1. **核心框架** - **Spring Boot 3.x**:快速启动和自动配置[^1] - **Spring MVC**:RESTful API开发基础架构[^4] - **Spring Data JPA/MyBatis**:数据库持久层方案 2. **安全体系** - **Spring Security**:认证与授权管理 - **JWT**:实现无状态Token验证[^2] 3. **中间件集成** - **Redis**:缓存和会话管理 - **RabbitMQ/Kafka**:异步消息队列 - **Elasticsearch**:全文检索(可选) 4. **基础设施** - **Maven/Gradle**:依赖管理和构建工具 - **MySQL/PostgreSQL**:关系型数据库 - **HikariCP**:数据库连接池 --- ### 三、前后端协作体系 1. **接口规范** - **RESTful API**:使用JSON格式传输数据[^4] - **Swagger/OpenAPI**:接口文档自动生成 2. **解决方案** - **CORS配置**:后端设置`@CrossOrigin`注解 - **代理配置**:前端开发时通过`vue.config.js`代理API请求 3. **部署架构** - **Nginx**:前端静态资源托管+反向代理 - **Docker**:容器化部署Spring Boot应用[^4] - **Jenkins/GitHub Actions**:CI/CD流水线 --- ### 四、关键特性实现示例 ```java // Spring Boot后端示例(用户控制器) @RestController @RequestMapping("/api/users") public class UserController { @Autowired private UserService userService; @GetMapping public ResponseEntity<List<User>> getUsers() { return ResponseEntity.ok(userService.findAll()); } } ``` ```javascript // Vue.js前端示例(调用API) axios.get('/api/users') .then(response => { this.userList = response.data }) .catch(error => { console.error('获取用户数据失败:', error) }) ``` --- ### 五、性能优化要点 1. **前端优化**:组件懒加载、路由按需加载 2. **后端优化**: - 二级缓存(Redis + Spring Cache) - SQL性能监控(p6spy) - JVM参数调优(参考JIT配置[^3]) ---
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值