springboot vue完成發(fā)送接口請求顯示響應(yīng)頭信息
基于 springboot+vue 的測試平臺
(練手項(xiàng)目)開發(fā)繼續(xù)更新。
在接口編輯頁中點(diǎn)擊發(fā)送接口請求,除了顯示響應(yīng)體外,還可以顯示響應(yīng)頭等輔助信息,今天完成這個(gè)功能的開發(fā)。

一、后端實(shí)現(xiàn)
后端主要是修改一下處理接口發(fā)送請求的方法apiTestRun,之前這個(gè)方法返回的直接就是一個(gè)響應(yīng)體,現(xiàn)在修改成返回更多的內(nèi)容。

如圖所示,注釋掉的部分是之前的返回。
在 hutool 的 http 客戶端中,httpResponse對象是包含了很多信息的,這里目前只先用這幾個(gè):body、cookies、responseStatus、responseHeaders。獲取到之后放到一個(gè)新的對象里返回出去。
不過前端的頁面目前也只需要用body和responseHeaders這2個(gè),前者是替換到之前的顯示,后者就是今天新增的功能所需要的。
二、前端實(shí)現(xiàn)
1. 返回的數(shù)據(jù)放到 vuex 中
在 vuex 中,我把接口返回的信息從接口請求對象中拿了出來,保存的時(shí)候就不做落庫了。

所以,現(xiàn)在發(fā)送請求成功后,要把獲取到的信息賦值給 vuex 中的對應(yīng)字段。因?yàn)榉祷貎?nèi)容改了,所以body的賦值也要重新改下,再加上新增的respHeaders賦值即可。

2. 從 vuex 中獲取數(shù)據(jù)并展示
新建一個(gè)組件ResponseHeaders,在這里獲取到 vuex 中的數(shù)據(jù)并展示出來。
<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>組件簡單顯示出來即可。
最后,新建的這個(gè)組件ResponseHeaders放到一個(gè)父組件ResponseInfoBase中。
<template>
<div>
<el-divider content-position="left">響應(yīng)內(nèi)容</el-divider>
<el-tabs v-model="activeName">
<el-tab-pane label="響應(yīng)體" name="respBody">
<ResponseBody />
</el-tab-pane>
<el-tab-pane label="響應(yīng)頭" 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>
這個(gè)父組件是集中存放關(guān)于接口響應(yīng)相關(guān)內(nèi)容的地方,另一個(gè)響應(yīng)體ResponseBody也是在這里,并且使用<el-tabs>來顯示。
最新代碼都已更新
前端:
https://github.com/wessonlan/bloomtest-web
后端
https://github.com/wessonlan/bloomtest-backend
以上就是springboot+vue完成發(fā)送接口請求顯示響應(yīng)頭信息的詳細(xì)內(nèi)容,更多關(guān)于springboot vue接口發(fā)送響應(yīng)頭顯示的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
IDEA 配合 Dockerfile 部署 SpringBoot 工程的注意事項(xiàng)
這篇文章主要介紹了IDEA 配合 Dockerfile 部署 SpringBoot 工程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09
MyBatis 中 ${}和 #{}的正確使用方法(千萬不要亂用)
這篇文章主要介紹了MyBatis 中 ${}和 #{}的正確使用方法,本文給大家提到了MyBatis 中 ${}和 #{}的區(qū)別,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07
java如何通過Kerberos認(rèn)證方式連接hive
該文主要介紹了如何在數(shù)據(jù)源管理功能中適配不同數(shù)據(jù)源(如MySQL、PostgreSQL和Hive),特別是如何在SpringBoot3框架下通過Kerberos認(rèn)證與Hive進(jìn)行安全交互,文章詳細(xì)描述了Kerberos認(rèn)證過程,包括配置krb5.conf和keytab文件、處理Hadoop和Hive版本兼容性問題2025-02-02
Mybatis操作多數(shù)據(jù)源的實(shí)現(xiàn)
本文主要介紹了Mybatis操作多數(shù)據(jù)源,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05
RestTemplate如何添加請求頭headers和請求體body
這篇文章主要介紹了RestTemplate如何添加請求頭headers和請求體body問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07
SpringBoot一個(gè)非常蛋疼的無法啟動的問題解決
這篇文章主要介紹了SpringBoot一個(gè)非常蛋疼的無法啟動的問題解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
關(guān)于二分法查找Java的實(shí)現(xiàn)及解析
這篇文章主要介紹了關(guān)于二分法查找Java的實(shí)現(xiàn)及解析,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07

