springboot vue完成发送接口请求显示响应头信息

作者:把苹果咬哭的测试笔记 时间:2023-06-05 02:45:34 

基于 springboot+vue 的测试平台

(练手项目)开发继续更新。

在接口编辑页中点击发送接口请求,除了显示响应体外,还可以显示响应头等辅助信息,今天完成这个功能的开发。

springboot vue完成发送接口请求显示响应头信息

一、后端实现

后端主要是修改一下处理接口发送请求的方法apiTestRun,之前这个方法返回的直接就是一个响应体,现在修改成返回更多的内容。

springboot vue完成发送接口请求显示响应头信息

如图所示,注释掉的部分是之前的返回。

在 hutool 的 http 客户端中,httpResponse对象是包含了很多信息的,这里目前只先用这几个:bodycookiesresponseStatusresponseHeaders。获取到之后放到一个新的对象里返回出去。

不过前端的页面目前也只需要用bodyresponseHeaders这2个,前者是替换到之前的显示,后者就是今天新增的功能所需要的。

二、前端实现

1. 返回的数据放到 vuex 中

在 vuex 中,我把接口返回的信息从接口请求对象中拿了出来,保存的时候就不做落库了。

springboot vue完成发送接口请求显示响应头信息

所以,现在发送请求成功后,要把获取到的信息赋值给 vuex 中的对应字段。因为返回内容改了,所以body的赋值也要重新改下,再加上新增的respHeaders赋值即可。

springboot vue完成发送接口请求显示响应头信息

2. 从 vuex 中获取数据并展示

新建一个组件ResponseHeaders,在这里获取到 vuex 中的数据并展示出来。

<template>
 <el-card class="box-card">
   <div v-for="(i, v) in headersObj" :key="v" class="text item">
     {{ v + ':' + i }}
   </div>
 </el-card>
</template>
<script>
export default {
 name: 'ResponseHeaders',
 data() {
   return {
     headersObj: {}
   }
 },
 computed: {
   respHeaders() {
     return this.$store.state.apiDefinition.responseInfo.respHeaders
   }
 },
 watch: {
   respHeaders: {
     handler() {
       this.headersObj = this.respHeaders[0]
     },
     immediate: true,
     deep: true
   }
 }
}
</script>

这里直接使用 elementui 中的<el-card>组件简单显示出来即可。

最后,新建的这个组件ResponseHeaders放到一个父组件ResponseInfoBase中。

<template>
 <div>
   <el-divider content-position="left">响应内容</el-divider>
   <el-tabs v-model="activeName">
     <el-tab-pane label="响应体" name="respBody">
       <ResponseBody />
     </el-tab-pane>
     <el-tab-pane label="响应头" name="respHeaders">
       <ResponseHeaders />
     </el-tab-pane>
   </el-tabs>
 </div>
</template>
<script>
import ResponseBody from '@/views/apiManagement/definition/responseContent/ResponseBody'
import ResponseHeaders from '@/views/apiManagement/definition/responseContent/ResponseHeaders'
export default {
 name: 'ResponseInfoBase',
 components: { ResponseBody, ResponseHeaders },
 data() {
   return {
     activeName: 'respBody'
   }
 }
}
</script>

这个父组件是集中存放关于接口响应相关内容的地方,另一个响应体ResponseBody也是在这里,并且使用<el-tabs>来显示。

最新代码都已更新

前端:

https://github.com/wessonlan/bloomtest-web

后端

https://github.com/wessonlan/bloomtest-backend

来源:https://www.cnblogs.com/pingguo-softwaretesting/p/16280271.html

标签:springboot,vue,发送请求,响应头显示
0
投稿

猜你喜欢

  • SpringBoot绿叶显示yml和端口问题及解决方法

    2023-12-09 00:29:13
  • SpringBoot+EasyPoi实现excel导出功能

    2022-05-08 06:47:35
  • Struts2学习笔记(8)-Result常用类型

    2023-06-05 11:10:19
  • Quartz与Spring集成的两种方法示例

    2022-05-22 05:15:41
  • 基于C#实现手机号码归属地接口调用

    2022-07-14 09:46:54
  • Android实现微信朋友圈发本地视频功能

    2021-06-18 07:56:03
  • SpringCloud2020整合Nacos-Bootstrap配置不生效的解决

    2023-11-29 02:42:47
  • Android实现可复用的选择页面

    2022-09-25 21:08:24
  • Android 应用启动欢迎界面广告的实现实例

    2023-01-26 07:34:11
  • Spring整合Quartz开发代码实例

    2022-03-12 16:37:26
  • mybatis输出SQL格式化方式

    2021-06-18 18:19:45
  • 详解C#正则表达式Regex常用匹配

    2022-07-08 08:04:45
  • SpringBoot启动自动终止也不报错的原因及解决

    2023-01-16 02:15:40
  • 浅谈c++11线程的互斥量

    2023-02-14 18:00:44
  • C语言详细分析宏定义与预处理命令的应用

    2021-10-06 00:39:24
  • Android编程之交互对话框实例浅析

    2021-09-09 04:47:08
  • Java使用备忘录模式实现过关类游戏功能详解

    2022-11-30 08:52:51
  • Java获取视频时长、大小的示例

    2023-01-16 01:48:44
  • 详解Android短信的发送和广播接收实现短信的监听

    2022-08-14 16:55:23
  • Android监听键盘状态获取键盘高度的实现方法

    2023-12-02 16:44:17
  • asp之家 软件编程 m.aspxhome.com