情景大概是一个表单,
{
key1: value1,
key2: value2,
……
}
但是其中呢表单中又可以上传文件。
本来一次性提交表单呢是用formData的
export function apiRequest(data) {
return request({
url: request_address,
method: 'post',
data: data
})
}
const form = new formData()
form.append(file, file)
form.append(key1, value1)
form.append(key2, value2)
apiRequest(form).then(res => {...}).catch(_ => {...})
大概这样。
这次呢有一点点意外,因为原来这个表单是不需要文件上传的
const params = {
key1: value1,
key2: value2,
}
apiRequest(params).then(res => {...}).catch(_ => {...})
大概直接这样就可以。但是突然原型加上了文件,不巧的是和我对接这个接口的后端是个实习生。
他给我的接口文档,表单数据请求类型是通过body传参,文件通过formData传参
虽然单独传都知道怎么传,但是同一个接口多种方式我真没遇到过……
我试图劝说他全部通过formData传参,但是好像失败了,他甚至反过来劝说我把一个接口掰成两个,一个用formData传文件一个用body传表单,我害怕地拒绝了。
于是我赶快爬了过来求教一下混合传参的正确姿势
加文件了就改接口,直接走表单,接口不会的话,让他问问同事,
还让前端来问,真的是前端好说话呀
如果是javaer,让他接口取消requestbody,直接做参数绑定就行了