0

0

springboot vue接口测试定义编辑功能如何实现

WBOY

WBOY

发布时间:2023-05-15 20:25:04

|

1174人浏览过

|

来源于亿速云

转载

一、后端

后端要增加2个接口:根据接口id查询、更新接口。

1. 查询接口
@GetMapping("/getApi")
  public Result getApiById(Long id) {
      return Result.success(apiDefinitionService.getApi(id));
  }

mybatis-plus 有直接使用id查询的方法可用selectById

public ApiDefinition getApi(Long id) {
      return apiDefinitionDAO.selectById(id);
  }

这个查询接口就不在路径后面拼接参数了,刚好用作我后面功能的调试。

2. 更新接口

ApiDefinitionController 继续增加编辑请求的处理方法:

@PostMapping("/update")
  public Result update(@RequestBody ApiDefinition request) {
      try {
          apiDefinitionService.update(request);
          return Result.success();
      } catch (Exception e) {
          return Result.fail(e.toString());
      }
  }

接着在 ApiDefinitionService 里实现:

立即学习前端免费学习笔记(深入)”;

public void update(ApiDefinition request) {
      QueryWrapper wrapper = new QueryWrapper<>();
      wrapper.eq("id", request.getId());
      request.setUpdateTime(new Date());
      apiDefinitionDAO.update(request, wrapper);
  }

先用传进来的 id 去查询出数据,然后更新apiDefinitionDAO.update(request, wrapper)

二、前端

1. 实现编辑外显

点击接口列表的【编辑】按钮,打开对话框并且显示该接口的数据。

在接口列表的【编辑】按钮上增加一个绑定事件的方法handleApiUpdate

springboot vue接口测试定义编辑功能如何实现

还有别忘记添加好要请求的查询接口,后续这个步骤就不再赘述了。

springboot vue接口测试定义编辑功能如何实现

handleApiUpdate方法里,实现外显。

springboot vue接口测试定义编辑功能如何实现

但是把接口返回的 request 赋值给页面的时候发现了问题。因为存在着 3 个tabs,那么我需要知道后端返回的是属于其中的哪一种tabs。

决定加个字段requestType参数类型 (0:query, 1: rest,2:body)

springboot vue接口测试定义编辑功能如何实现

对应的新增接口的请求参数里也要增加:

springboot vue接口测试定义编辑功能如何实现

那么这个字段的值从哪里来呢?

springboot vue接口测试定义编辑功能如何实现

发现组件里是有个事件的,当点击tab时候会触发,那么就在这个方法里赋值即可。

springboot vue接口测试定义编辑功能如何实现

接着,我又想到了一个问题:比如我参数放在了请求体的tab中,但是又点了其他tab,最后点击了保存,那么这样落库的类型就不对了。

为了解决这个问题,我决定加个判断:保存的时候,会判断当前 tab里的值是否不为空,有值的才可以保存,没有的话给提示出来。

新增一个方法checkRequestNull用于检查当前 tab 里的值是不是空:

springboot vue接口测试定义编辑功能如何实现

这里为什么用domains[0].key判断? 因为默认有个空节点,不填写的时候数据的长度也是 1,所以我改成了判断各自的 key。

最后修改saveApi保存接口的请求方法,在里面加入上面的请求参数判断,注意位置:

springboot vue接口测试定义编辑功能如何实现

测试一下:

springboot vue接口测试定义编辑功能如何实现

绘蛙AI修图
绘蛙AI修图

绘蛙平台AI修图工具,支持手脚修复、商品重绘、AI扩图、AI换色

下载

继续开发外显功能。

接下来还要做一件事:打开编辑页后,自动显示到有数据的 tabs 页去,比如我是请求体的参数,就自动显示请求体 tab页。

springboot vue接口测试定义编辑功能如何实现

这里有 2 处改动:

先看下面的,就是增加的判断,根据接口返回的请求参数类型,然后赋值给this.activeName,就可以显示对应的 tab再看上面的,是新增了一个字段id,用来保存接口返回的接口id,编辑的时候需要传给后端接口。

测试一下外显功能:

springboot vue接口测试定义编辑功能如何实现

2. 实现接口更新

首先要修改的是对话框保存按钮,我需要通过增加一个字段apiDefinitionDialogStatus,在点击的时候判断是调用新增接口,还是编辑接口,默认是create

这个字段在点击【编辑】的handleApiUpdate方法里就已经使用了,打开对话框,然后赋值为update:

springboot vue接口测试定义编辑功能如何实现

接着修改对话框的保存按钮的点击事件,当值等于create就调用saveApi(),否则就调用updateApi()

springboot vue接口测试定义编辑功能如何实现

实现updateApi方法,进行更新的操作。

在此之前,我要需要在请求对象里增加一个字段,就是接口 id,因为后端需要用 id 去查询库里的这条数据。

springboot vue接口测试定义编辑功能如何实现

对应的,在请求参数的处理方法里,也需要增加id的赋值。

springboot vue接口测试定义编辑功能如何实现

就是把外显时候拿到的id赋值到请求参数体里。

最后,在请求接口之前也需要校验下当前 tab 下是否有参数,通过了再请求后端更新接口:

springboot vue接口测试定义编辑功能如何实现

测试一下功能:

springboot vue接口测试定义编辑功能如何实现

功能完成,但是还遗漏了一点,少了个重置,不然点击【创建接口】按钮,;总是会看到上次打开的内容。

新增一个方法resetApiForm来重置 form 里的字段:

springboot vue接口测试定义编辑功能如何实现

用在点击【创建接口】按钮的时候,这里修改一下,之前是改一个对话框的状态,现在都放到一个方法里去:

springboot vue接口测试定义编辑功能如何实现

在方法里调用:

springboot vue接口测试定义编辑功能如何实现

相关专题

更多
mybatis一级缓存和二级缓存
mybatis一级缓存和二级缓存

在MyBatis中,一级缓存和二级缓存是两种不同级别的缓存机制,它们都可以用来提高性能。本专题提供mybatis一级缓存和二级缓存相关文章,大家可以免费阅读。

296

2023.08.21

ibatis和mybatis有什么区别
ibatis和mybatis有什么区别

ibatis和mybatis的区别:1、基本信息不同;2、开发时间不同;3、功能与易用性;4、配置文件;5、入参类型与出参类型;6、返回结果集接受方式;7、语法差异;8、数据库方言支持;9、插件支持;10、社区活跃度;11、全球化支持。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

78

2024.02.23

mybatis如何配置数据库连接
mybatis如何配置数据库连接

mybatis配置数据库连接的方法:1、指定数据源;2、配置事务管理器;3、配置类型处理器和映射器;4、使用环境元素;5、配置别名。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

100

2024.02.23

mybatis工作原理及流程是什么
mybatis工作原理及流程是什么

mybatis工作原理及流程:1、配置文件;2、接口与映射;3、sql解析与生成;4、执行计划;5、结果处理;6、动态sql;7、缓存机制;8、插件;9、事务管理;10、日志与监控;11、扩展性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

152

2024.02.23

hibernate和mybatis有哪些区别
hibernate和mybatis有哪些区别

hibernate和mybatis的区别:1、实现方式;2、性能;3、对象管理的对比;4、缓存机制。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

137

2024.02.23

Java MyBatis框架
Java MyBatis框架

本专题专注于Java主流ORM框架MyBatis的应用,系统讲解SQL映射、动态SQL、结果映射、分页查询、缓存机制与多表关联等核心内容,并结合企业管理系统、电商平台和后台管理项目实战,帮助学员全面掌握高效的数据库持久层开发技能。

131

2025.08.26

硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

989

2023.10.19

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

50

2025.10.17

vlookup函数使用大全
vlookup函数使用大全

本专题整合了vlookup函数相关 教程,阅读专题下面的文章了解更多详细内容。

26

2025.12.30

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Vue 教程
Vue 教程

共42课时 | 5.7万人学习

Vue3.x 工具篇--十天技能课堂
Vue3.x 工具篇--十天技能课堂

共26课时 | 1.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号