场景
遇到一个 POST
接口,请求体 body
和 拼接在 url
上的 query
都需要传参。
接口文档:
- 参数:
version
,格式string
, 形式query
- 请求体:
file
,格式string($binary)
,形式multipart/form-data
- 响应:状态码
200
接口测试:
有效的解决办法
- 方法一:
POST
请求也有params
参数
import request from "@/utils/request"
export const uploadApp = (data, version) => {
return request({
method: "post",
url: "/AppVersionUpdate/upload",
data,
params: version,
// 去掉 在 request.js 中默认添加的 TOKEN,因为此接口不需要 TOKEN
headers: {
isToken: false
}
})
}
- 方法二:拼接
query
参数到url
上 (不推荐:会导致url
过长,数据可能会丢失)
import request from "@/utils/request"
export const uploadApp = (data, version) => {
return request({
method: "post",
url: "/AppVersionUpdate/upload?version=" + version,
data,
// 去掉 在 request.js 中默认添加的 TOKEN,因为此接口不需要 TOKEN
headers: {
isToken: false
}
})
}
疑惑
尝试了一下:不写 params
,直接写 参数 version
也是可以的。这是为什么呢?如果有知道的小伙伴,请在评论区告诉我~
import request from "@/utils/request"
export const uploadApp = (data, version) => {
return request({
method: "post",
url: "/AppVersionUpdate/upload",
data,
version,
// 去掉 在 request.js 中默认添加的 TOKEN,因为此接口不需要 TOKEN
headers: {
isToken: false
}
})
}