日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > vue >内容正文

vue

Vue中通过Axios向SpringBoot发送get和post请求

發布時間:2025/3/19 vue 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Vue中通过Axios向SpringBoot发送get和post请求 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

場景

前端使用Vue+ElementUI實現頁面布局。

跨域請求使用axios。

為了將axios的請求對象封裝成公共的。新建request.js

import axios from 'axios' import { Notification, MessageBox, Message } from 'element-ui' import store from '@/store' import { getToken } from '@/utils/auth' import errorCode from '@/utils/errorCode'axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8' // 創建axios實例 const service = axios.create({// axios中請求配置有baseURL選項,表示請求URL公共部分baseURL: process.env.VUE_APP_BASE_API,// 超時timeout: 10000 }) // request攔截器 service.interceptors.request.use(config => {// 是否需要設置 tokenconst isToken = (config.headers || {}).isToken === falseif (getToken() && !isToken) {config.headers['Authorization'] = 'Bearer ' + getToken() // 讓每個請求攜帶自定義token 請根據實際情況自行修改}return config }, error => {console.log(error)Promise.reject(error) })// 響應攔截器 service.interceptors.response.use(res => {// 未設置狀態碼則默認成功狀態const code = res.data.code || 200;// 獲取錯誤信息const message = errorCode[code] || res.data.msg || errorCode['default']if (code === 401) {MessageBox.confirm('登錄狀態已過期,您可以繼續留在該頁面,或者重新登錄','系統提示',{confirmButtonText: '重新登錄',cancelButtonText: '取消',type: 'warning'}).then(() => {store.dispatch('LogOut').then(() => {location.reload() // 為了重新實例化vue-router對象 避免bug})})} else if (code === 500) {Message({message: message,type: 'error'})return Promise.reject(new Error(message))} else if (code !== 200) {Notification.error({title: message})return Promise.reject('error')} else {return res.data}},error => {console.log('err' + error)Message({message: error.message,type: 'error',duration: 5 * 1000})return Promise.reject(error)} )export default service

這里引入了axios模塊和token模塊驗證是否登錄,token這部分可以忽略。

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi
關注公眾號
霸道的程序猿
獲取編程相關電子書、教程推送與免費下載。

實現

然后在需要發送請求的js中

import request from '@/utils/request'

引入該request模塊。

get請求傳遞參數

在對應的vue頁面中

查詢按鈕

<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">查詢</el-button>

對應的方法

??? /** 搜索按鈕操作 */handleQuery() {this.queryParams.pageNum = 1;this.getList();},

此方法中調用了getList方法

??? /** 查詢班次管理列表 */getList() {listBcgl(this.queryParams).then((response) => {this.bcglList = response.rows;this.total = response.total;});}

其中listBcgl是在對應的js中通過

import {listBcgl, } from "@/api/kqgl/bcgl";

引入進來的

this.bcglList 就是頁面上表格的數據源。

來到對應的js的方法listBcgl中

// 查詢班次管理列表 export function listBcgl(query) {debuggerreturn request({url: '/kqgl/bcgl/getBcListByName',method: 'get',params:{bcmc:query.bcmc}}) }

這樣就可以將字符串作為參數傳遞給后端。

來到SpringBoot中對應的接口

??? @GetMapping("/getBcListByName")public TableDataInfo getBcListByName(@RequestParam(required = false) String bcmc){KqBcgl kqBcgl = new KqBcgl();kqBcgl.setBcmc(bcmc);List<KqBcgl> list = kqBcglService.getBcListByName(kqBcgl);return getDataTable(list);}

通過(@RequestParam(required = false) 來接手參數,其中bcmc要與傳遞參數時左邊的bcmc對應。

required = false表示此參數不是必傳。

POST請求傳遞參數

比如在新增功能時需要提交表單并傳遞參數。

提交時的按鈕

<el-button type="primary" @click="submitForm">確 定</el-button>

然后對應的點擊的方法submitForm中

??? /** 提交按鈕 */submitForm: function () {this.$refs["form"].validate((valid) => {if (valid) {if (this.form.id != undefined) {debugger;updateBcgl(this.form, this.bcglXiangXiList).then((response) => {if (response.code === 200) {this.msgSuccess("修改成功");this.open = false;this.getList();}});} else {addBcgl(this.form, this.bcglXiangXiList).then((response) => {debugger;if (response.code === 200) {this.msgSuccess("新增成功");this.open = false;this.getList();}});}}});},

這里新增和編輯是走的同一個方法,只看新增時的邏輯。

傳遞了兩個參數,其中addBcgl也是在vue中通過

import {addBcgl, } from "@/api/kqgl/bcgl";

引入

在對應的js的方法addBcgl中

// 新增班次管理 export function addBcgl(data,bcglXiangXiListParam) {var bcglxiangxiList = new Array();var bcxiangxi? = {};bcglXiangXiListParam.forEach(element => {bcxiangxi.xh = element.xh;bcxiangxi.bcbh = data.bcbh;//debuggerbcxiangxi.dkkssj = element.sjfw[0];bcxiangxi.dkjssj = element.sjfw[1];bcxiangxi.ts = element.ts;bcxiangxi.dkdd = element.dkdd;bcxiangxi.zxjxljsj = element.jxsjfw[0];bcxiangxi.zdjxljsj = element.jxsjfw[1];bcglxiangxiList.push(bcxiangxi);});debuggerdata.bcglXiangXiList=bcglxiangxiList;debuggerreturn request({url: '/kqgl/bcgl/addBcgl',method: 'post',data: data}) }

上面是對傳遞的兩個參數進行一個處理,最終是封裝成一個對象參數,

其中這個對象的屬性要和你后端對應的實體類的屬性對應,這樣后端才能接收到相同屬性的值。

注意這里最后的傳遞參數的

? return request({url: '/kqgl/bcgl/addBcgl',method: 'post',data: data})

這里是使用的data不再是params。最后要傳遞的參數就是data這個對象。

前端傳遞的data對應的對象聲明

????? // 添加或者修改班次表單參數form: {pageNum: 1,pageSize: 10,id: undefined,bcbh: undefined,bcmc: undefined,bclx: undefined,sfkt: undefined,xss: undefined,sfyb: undefined,bzc: undefined,kqts: undefined,mzxx: undefined,bz: undefined,},

對應的后臺的model類

@ApiModel("班次管理對象") public class KqBcgl extends BaseEntity {private static final long serialVersionUID = 1L;/** id */private Long id;/** 班次編號 */@Excel(name = "班次編號")@ApiModelProperty("班次編號")private String bcbh;/** 班次名稱 */@Excel(name = "班次名稱")@ApiModelProperty("班次名稱")private String bcmc;/** 班次類型 */@Excel(name = "班次類型")@ApiModelProperty("班次類型")private String bclx;/** 是否跨天 */@Excel(name = "是否跨天")@ApiModelProperty("是否跨天")private Boolean sfkt;/** 小時數 */@Excel(name = "小時數")@ApiModelProperty("小時數")private String xss;/** 是否夜班 */@Excel(name = "是否夜班")@ApiModelProperty("是否夜班")private Boolean sfyb;/** 班中餐 */@Excel(name = "班中餐")@ApiModelProperty("班中餐")private String bzc;/** 備注 */@Excel(name = "備注")@ApiModelProperty("備注")private String bz; }

省略get和set方法

然后在請求對應的SpringBoot方法中

??? @PostMapping("/addBcgl")public AjaxResult add(@RequestBody KqBcgl kqBcgl){return kqBcglService.insertKqBcgl(kqBcgl);}

通過(@RequestBody 就能接受到前端傳遞過來的對象參數。

總結

以上是生活随笔為你收集整理的Vue中通过Axios向SpringBoot发送get和post请求的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 69av在线| 日韩午夜毛片 | 亚洲毛片在线播放 | 日韩免费精品视频 | 香蕉视频入口 | 亚洲欧美一区二区三 | 老熟妇毛片 | 在线观看久草 | 日本色视 | av午夜天堂 | 精品网站999| 日色网站 | 别揉我奶头啊嗯一区二区 | 成年人国产精品 | 国产传媒在线视频 | 欧美激情视频一区二区三区 | 天天操天天射天天爱 | 伊人久久大 | 日韩中文字幕精品视频 | 欧美丰满少妇人妻精品 | 久久午夜精品视频 | 公交顶臀绿裙妇女配视频 | 国产午夜福利一区二区 | 黄色一级免费片 | 超碰在线亚洲 | 亚洲欧美中文字幕5发布 | 国产精品18久久久久久vr下载 | 免费在线看黄色 | 欧美浓毛大泬视频 | 正在播放一区二区 | 2018天天干天天操 | 国产精品扒开腿做爽爽爽男男 | 日韩av电影手机在线观看 | 在线久草 | 一级大片免费观看 | 精品一卡二卡三卡 | 日本少妇激情舌吻 | 黄色日韩网站 | 欧美射 | 国产精品久久影院 | 蜜臀一区二区三区 | 亚洲一区二区精品在线观看 | 亚洲乱亚洲乱妇 | 香蕉茄子视频 | 自拍偷拍p | 欧美成人三级精品 | 国产精品久久久久9999爆乳 | 成人人人人人欧美片做爰 | 日本视频中文字幕 | 成人午夜在线免费观看 | 欧美不卡 | 婷婷一级片 | av无码精品一区二区三区宅噜噜 | 国产又黄又粗又长 | 五月婷在线观看 | jizzjizz中国精品麻豆 | 亚欧成人精品 | 日韩黄色精品视频 | 欧美亚洲视频一区 | 日本在线不卡一区 | 人妻体内射精一区二区 | 欧美日本二区 | 免费观看一区二区三区视频 | 最近中文字幕在线mv视频在线 | 亚洲成av人片在www色猫咪 | 麻豆传媒在线观看 | 最新国产精品 | 福利电影一区二区三区 | 亚洲成人激情视频 | 国产不卡在线观看 | 91免费看片 | 在线亚洲一区二区 | 日韩网红少妇无码视频香港 | 真实的国产乱xxxx在线 | 亚洲三级在线看 | 国产系列精品av | 精品久久久久久久中文字幕 | 亚洲精品电影在线 | 亚洲欧美另类视频 | 亚洲三区在线观看无套内射 | 免费在线黄色网址 | 成年人网站免费在线观看 | 337p粉嫩大胆色噜噜狠狠图片 | 青青视频在线播放 | 日日嗨av一区二区三区四区 | 欧美天堂久久 | 黑人巨大xxxxx性猛交 | 国产成人啪免费观看软件 | 拍真实国产伦偷精品 | 亚洲国产日韩一区二区 | 国产精品久久无码 | 午夜精品久久久久久久99热黄桃 | 视色av | 日韩毛片无码永久免费看 | 午夜精品国产 | 美日韩三级 | 丁香婷婷色 | 黄色一级片 | 原创av |