Springboot+Vue数据传递的流程

本文详细介绍了如何使用SpringBoot和Vue实现前后端分离的项目搭建过程,包括Vue项目的创建、目录结构解析、利用axios从后端获取数据并展示,以及SpringBoot配置跨域访问,帮助读者掌握前后端数据交互的核心流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Springboot+Vue数据传递的流程

一、前后端分离
大概的意思就是将一个程序变成前端和后台的两个应用。
二、搭建Vue项目
这个是Vue搭建的一个比较好的解释
注意点:1、在这里插入图片描述
下载好了node就可以直接操作,在cmd中运行第一个第二个,然后项目创建成功。
三、目录解释
1、build:存放项目构建脚本
2、config:一般是基本配置的操作
3、node_modules:所有的依赖
4、static:静态资源
5、index.html:首页也是入口
6、package.json:依赖的全部版本以及发布
7、(import)src:存放代码具体靠理解。

四 获取后台数据进行展示
利用axios来执行(npm install axios安装axios)
1、在main.js页面引用

import axios from 'axios';

Vue.prototype.$http=axios;

2、在获取数据的页面

created:function(){
      this.$http.get('http://localhost:8088/selectClass').then(resp=>{
          console.log(resp);
      })
  }

注意:两个端口号要设置不一样
3、在后台加上配置类

@Configuration
public class MyConfig implements WebMvcConfigurer {
public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
                .allowedOrigins("*")
                .allowedMethods("GET","HEAD","POST","DELETE","OPTIONS")
                .allowCredentials(true)
                .maxAge(3600)
                .allowedHeaders("*");
    }

这样就可以获取数据在这里插入图片描述

### 基于Spring BootVue和WebSocket的仓储审批流程实现 #### 后端开发 (Spring Boot) 为了构建一个支持 WebSocket 的仓储审批流程,可以按照以下方式配置 Spring Boot。 1. **引入必要的依赖** 需要在 `pom.xml` 文件中添加 WebSocket 和其他必要依赖项。以下是典型的 Maven 依赖配置: ```xml <!-- WebSocket Support --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artifactId> </dependency> <!-- Optional: For handling JSON messages --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> </dependency> ``` 这些依赖允许后端处理 WebSocket 请求并解析 JSON 数据[^2]。 2. **配置 WebSocket 支持** 创建一个类来启用 WebSocket 功能,并定义消息处理器逻辑。 ```java @Configuration @EnableWebSocketMessageBroker public class WebSocketConfig implements WebSocketMessageBrokerConfigurer { @Override public void configureMessageBroker(MessageBrokerRegistry config) { config.enableSimpleBroker("/topic"); // 定义广播路径前缀 config.setApplicationDestinationPrefixes("/app"); } @Override public void registerStompEndpoints(StompEndpointRegistry registry) { registry.addEndpoint("/ws").withSockJS(); // 注册 WebSocket 终端点 } } ``` 上述代码启用了 STOMP 协议的支持,并设置了 `/ws` 路径作为客户端连接地址[^3]。 3. **创建控制器以接收和转发消息** 使用 `@MessageMapping` 处理特定的消息请求并将响应推送给订阅者。 ```java @Controller public class ApprovalController { @MessageMapping("/approve") @SendTo("/topic/approvalStatus") // 广播到所有订阅该主题的客户端 public String handleApprovalRequest(String approvalData) throws Exception { System.out.println("Received approval request: " + approvalData); return "Approval processed successfully!"; } } ``` 当接收到 `/approve` 主题的消息时,会触发此方法并向所有订阅了 `/topic/approvalStatus` 的前端发送反馈[^4]。 --- #### 前端开发 (Vue.js) 在 Vue 中集成 WebSocket 可以为用户提供实时更新的功能。 1. **建立 WebSocket 连接** 在组件初始化阶段创建 WebSocket 对象并与后端通信。 ```javascript export default { data() { return { userName: 'user', socket: null, messages: [] }; }, created() { const url = `ws://localhost:8080/ws`; this.socket = new WebSocket(url); this.socket.onmessage = (event) => { console.log('New message:', event.data); // 接收来自服务器的通知 this.messages.push(event.data); }; this.socket.onopen = () => { console.log('Connection established'); }; this.socket.onerror = (error) => { console.error('Socket error:', error); }; }, methods: { sendApproval(data) { if (this.socket.readyState === WebSocket.OPEN) { this.socket.send(JSON.stringify({ action: 'APPROVE', payload: data })); } else { console.warn('WebSocket is not open.'); } } } }; ``` 此处实现了与后端交互的基础功能,包括打开连接、监听消息以及向服务器发送数据[^5]。 2. **UI 层面设计** 利用 Vue 提供的数据绑定特性展示待审核列表及状态变化情况。 ```html <template> <div> <h3>Pending Approvals:</h3> <ul> <li v-for="(msg, index) in messages" :key="index">{{ msg }}</li> </ul> <button @click="sendApproval('Sample Data')">Approve Item</button> </div> </template> ``` 用户点击按钮即可发起审批动作并通过 WebSocket 将其传递给后台进行进一步处理。 --- #### 整体工作流说明 - **用户界面**: 显示当前等待批准的任务清单。 - **事件驱动机制**: 当有新任务提交或完成某项操作时,通过 WebSocket 自动通知相关人员。 - **双向通讯能力**: 不仅限于单方向的信息输;还可以让管理员即时确认结果或者拒绝某些申请。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值