SpringBoot05--axios网络请求

 浏览器主动发送请求,服务器接收请求之后返回数据,通过vue进行数据绑定

 请求成功,返回的数据会包装到response里面去(返回成response的data属性)

 好的这边不太懂

 在xxx.vue组件被创建和挂载(渲染)的时候,会有以下两个生命周期函数被调用:

 网络请求一般在页面被渲染之前也就是被创建的时候用

前后端开始合并了,由于两个都是8080所以把后端的端口改了

response就是回调函数返回的后端的这个函数的json数据

 好吧还是失败了,在8080的控制台看到了以下报错

 这是一种跨域问题:

 这俩不同源,端口不通,需要获得浏览器的授权

 上面这种是传统的精细的策略,可以在springerboot里面采用注解的方式

在控制器里面加入@crossOrigin就可以允许下面的所有方法跨域执行

ok,怎么把服务器传回来的data渲染到表格里面去?

1. 先把刚刚axios那一套(本来在app.vue里面的)复制到El.vue(有表格的那个vue)里面去

2. 把原本自己赋值

 报错是因为,this这东西的作用域的问题,可以用箭头函数搞,箭头函数里面的this继承了

父类的作用域

 

 一些重用的部分可以整合一下,写在main里面:

 

 $后面的可以自定义名字,现在我给个名字叫http,这意思是把axios属性绑定在vue.$http上

改完之后:

 

### 集成 MyBatis-Plus 并实现前后端分离开发 #### 1. 创建 Spring Boot 项目结构 为了构建一个完整的应用程序,首先需要搭建基础的 Spring Boot 项目框架。确保引入必要的依赖项来支持 MyBatis-Plus 和其他所需的功能。 ```xml <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.0</version> </dependency> <!-- 添加 Vue.js 支持 --> <build> <plugins> <plugin> <groupId>com.github.eirslett</groupId> <artifactId>frontend-maven-plugin</artifactId> <!-- 插件配置... --> </plugin> </plugins> </build> ``` #### 2. 数据库连接配置 编辑 `application.yml` 文件以设置数据库参数: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/your_database?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC username: root password: your_password driver-class-name: com.mysql.cj.jdbc.Driver ``` #### 3. MyBatis-Plus 初始化配置 通过创建自定义配置类完成 MyBatis-Plus 的初始化工作[^4]。 ```java @Configuration public class MybatisPlusConfig { @Bean public MybatisPlusInterceptor mybatisPlusInterceptor() { MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); return interceptor; } } ``` #### 4. 构建 RESTful API 接口 编写控制器用于暴露 CRUD 操作接口供前端调用。 ```java @RestController @RequestMapping("/api/users") public class UserController { private final UserService userService; public UserController(UserService userService) { this.userService = userService; } @GetMapping("/{id}") public ResponseEntity<UserDTO> getUser(@PathVariable Long id){ User user = userService.getById(id); if (user != null) { return ResponseEntity.ok().body(convertToDto(user)); } else { throw new ResourceNotFoundException("User not found"); } } // Other endpoints... } ``` #### 5. 前端部分 - 使用 Vue.js 安装 Node.js 及其包管理工具 npm 或 yarn 来管理和运行客户端应用。利用 vue-cli 工具快速建立新工程,并按照官方文档指导逐步添加组件和服务请求逻辑。 ```bash npm install -g @vue/cli vue create frontend-app cd frontend-app npm run serve ``` 在 Vue 组件内部发起 HTTP 请求获取后端返回的数据: ```javascript import axios from 'axios'; export default { name: 'App', data () { return { users: [] }; }, mounted(){ axios.get('/api/users') .then(response => this.users = response.data) .catch(error => console.log(error)); } }; ``` 以上就是关于如何在一个基于 Spring Boot + MyBatis-Plus 技术栈的应用程序中实施前后端分离模式的基本流程概述[^1][^2][^3].
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值