axios传数组到后台_前端使用axios传递数组后端使用List接收

本文介绍了在前端使用axios发送DELETE请求时,如何正确传递数组到后端,后端使用List接收。关键在于不要将数组转换为字符串,直接传递数组,同时在axios中设置data为数组。测试结果显示此方法可行。
摘要由CSDN通过智能技术生成

时间: 2020年08月18日

问题

在做项目时遇到一个问题, 前端用axios传递id数组给后端, 请求方法是delete, 后端采用@RequestBody来接受List然后捕捉到异常 Required request body is missing: 意味着后端未能成功接收到参数, 这其中踩了许多坑

@DeleteMapping可以使用@RequestBody接收参数

如果不是传递字符串, 不要使用JOSN.stringify()把对象转换成字符串格式再传参

qs.stringify()是针对Get方法传参, 将对象转换成一个url, 有大小限制

解决

采用Delete请求方法, Post也是一样的

Get需要使用qs.stringify()进行参数的转换, 这里不涉及

直接上正确的传参方法

// api

/**

* 禁用User

* @param userIds

* @returns {Promise} Promise

* @constructor

*/

export function deleteDisableUserInBulk(userIds) {

return request({

url: '/user/disable-in-bulk',

method: 'delete',

data: userIds

})

}

// 方法调用api

// 不能传入{userIds:array}这个对象, 直接传入array即可

// 不能使用JSON.stringify(array), 如果使用会导致后端无法解析

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值