Vue中常见的api接口写法:

1.axios中dataparams的区别:

【1】params

params是添加到url的请求字符串中的

在这里插入图片描述
【2】data

data是添加到请求体(body)中的

在这里插入图片描述
【3】

注:具体用哪种,看后端接口吧

在这里插入图片描述

2、拼接URL:
接口:GET 	/dictList/{id}

export function dictType(type){
	return request({
		url:'/api/dictList/'+id,//情况一
		//url:'/api/'+{id}+'/dictList/',//情况二
		method:'get'
	})
}
3、没有请求参数:
接口:GET 	/dataList

export function dictType(){
	return request({
		url:'/api/dataList',
		method:'get'
	})
}
4、有请求参数:
接口:POST /upload

export function getUpload(obj) {
	return request({
    	url: '/api/upload',
    	method: 'post',
    	//data: obj,
    	params: obj,
 	})
}
5.请求数据类型为:X-WWW-FORM-URLENCODED
export function getUpload(obj) {
	return request({
    	url: '/api/upload',
    	method: 'post',
    	data: obj,
    	headers: {
            'Content-Type': 'X-WWW-FORM-URLENCODED;charset=UTF-8',
        }
 	})
}
6.请求数据类型为:application/json
export function getUpload(obj) {
	return request({
    	url: '/api/upload',
    	method: 'post',
    	data: obj,
    	headers: {
            'Content-Type': 'application/json;charset=UTF-8',
        }
 	})
}
7.请求数据类型为:FORM-DATA
export function getUpload(obj) {
	return request({
    	url: '/api/upload',
    	method: 'post',
    	data: obj,
    	headers: {
            'Content-Type': 'multipart/FORM-DATA;charset=UTF-8',
        }
 	})
}
8.请求数据类型为:responseType (导出execl文件)
export function getUpload(obj) {
	return request({
    	url: '/api/upload',
    	method: 'post',
    	data: obj,
    	responseType: 'blob'
 	})
}
9.下载文件
/**
 * 下载文件
 * @param url 文件路径
 * @param fileName 文件名
 * @param param参数
 * @returns {*}
 */
export function downloadFile(url, fileName, param) {
    return downFile(url, param).then((data) => {
        if (!data || data.size === 0) {
            Vue.prototype['$message'].warning('文件下载失败')
            return
        }
        if (typeof window.navigator.msSaveBlob !== 'undefined') {
            window.navigator.msSaveBlob(new Blob([data]), fileName)
        } else {
            let url = window.URL.createObjectURL(new Blob([data]))
            let link = document.createElement('a')
            link.style.display = 'none'
            link.href = url
            link.setAttribute('download', fileName)
            document.body.appendChild(link)
            link.click()
            document.body.removeChild(link) //下载完成移除元素
            window.URL.revokeObjectURL(url) //释放掉blob对象
        }
    })
}
10.【Vuex+localStorage】登录时获取token并封装api接口:
  • 4
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sun Peng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值