当前位置: 首页 > wzjs >正文

优秀企业建站天台网站建设

优秀企业建站,天台网站建设,网站底部 图标,wordpress 压缩图片大小解析 ID 数组传参的解决方案:基于 Axios 的实现 在实际开发中,经常需要将一个 ID 数组作为参数传递给后端接口。然而,不同的后端框架和前端库对数组参数的处理方式可能有所不同。通过一个具体的例子,在前端使用 Axios 框架发送 I…

解析 ID 数组传参的解决方案:基于 Axios 的实现

在实际开发中,经常需要将一个 ID 数组作为参数传递给后端接口。然而,不同的后端框架和前端库对数组参数的处理方式可能有所不同。通过一个具体的例子,在前端使用 Axios 框架发送 ID 数组,并在后端正确接收和处理这些参数。

请求的URL示例:/admin/lzWithdrawal//setTransfer/batch?ids=1,2,3
注意:
URL query请求方式(即?ids=1,2,3)
前端的 params: { ids },
paramsSerializer: (params) => qs.stringify(params, { arrayFormat: ‘comma’ }),
后端的@RequestParam(“ids”) List ids
是一组固定搭配。
少加 任意一个,或者写成@RequestBody 、少加paramsSerializer ,都有可能联调失败
如果改成@RequestBody 即请求体传参,该文章不适用

前端代码:使用 Axios 发送 ID 数组

假设我们有一个批量转账的功能,需要将一组 ID 传递给后端接口。以下是前端代码的实现:

import axios from 'axios';
import qs from 'qs';export function batchTransfer(ids) {return axios({url: '/admin/lzWithdrawal/setTransfer/batch',method: 'post',params: { ids },paramsSerializer: (params) => qs.stringify(params, { arrayFormat: 'comma' }),});
}

代码解析

  1. 引入 Axios 和 qs

    • axios 是一个基于 Promise 的 HTTP 客户端,用于浏览器和 node.js。
    • qs 是一个用于序列化和解析 URL 查询字符串的库,它可以帮助我们将数组参数正确地转换为查询字符串。
  2. 构造请求

    • 我们使用 axios 构造了一个 POST 请求,目标 URL 是 /admin/lzWithdrawal/setTransfer/batch
    • params 是一个对象,包含我们要传递的参数。在这个例子中,我们只传递了一个名为 ids 的数组。
    • paramsSerializer 是一个函数,它将 params 对象序列化为查询字符串。我们使用了 qs.stringify 方法,并设置了 arrayFormat: 'comma',这表示数组参数将以逗号分隔的形式发送(例如 ids=1,2,3)。

后端代码:接收和处理 ID 数组

后端代码使用了 Spring Boot 框架,以下是对应的控制器方法:

import org.springframework.web.bind.annotation.*;
import java.util.List;@RestController
@RequestMapping("/admin/lzWithdrawal")
public class WithdrawalController {@PostMapping("/setTransfer/batch")public R setTransferBatch(@NotEmpty @RequestParam("ids") List<Long> ids) {ids.parallelStream().forEach(id -> {withdrawalService.lambdaUpdate().eq(TpLzWithdrawal::getId, id).set(TpLzWithdrawal::getStatus, 2).update();});return R.ok(true);}
}

代码解析

  1. @RequestParam 注解

    • @RequestParam("ids") 表示从请求的查询参数中获取名为 ids 的参数,并将其绑定到方法参数 List<Long> ids 上。
    • Spring Boot 默认会将逗号分隔的字符串解析为数组或列表,因此前端发送的 ids=1,2,3 会被正确解析为一个 List<Long>
  2. 并行流处理

    • 使用 ids.parallelStream() 创建一个并行流,对每个 ID 进行处理。
    • 在流的 forEach 方法中,我们调用了 withdrawalServicelambdaUpdate 方法,更新对应 ID 的状态。

前端调用
假设我们有一个 ID 数组 [1, 2, 3],调用 batchTransfer 方法:

batchTransfer([1, 2, 3]).then(response => {console.log('Success:', response.data);}).catch(error => {console.error('Error:', error);});

请求的URL示例:/admin/lzWithdrawal//setTransfer/batch?ids=1,2,3


文章转载自:

http://Du5h3i09.ntqgz.cn
http://anYPvRJ1.ntqgz.cn
http://CjaUnBzV.ntqgz.cn
http://YcOo10iv.ntqgz.cn
http://AIZ5sryZ.ntqgz.cn
http://8lXGbw5M.ntqgz.cn
http://QeECb3fq.ntqgz.cn
http://VuHHqUkN.ntqgz.cn
http://afxR9pgE.ntqgz.cn
http://pNOjlfJ5.ntqgz.cn
http://txX9qrgq.ntqgz.cn
http://gXXu9gc5.ntqgz.cn
http://8C3Itr07.ntqgz.cn
http://juslE8ZM.ntqgz.cn
http://6XBzEJVy.ntqgz.cn
http://zbjFiej9.ntqgz.cn
http://rYmFHN1Z.ntqgz.cn
http://AZ92xvXc.ntqgz.cn
http://vruxRVGl.ntqgz.cn
http://pWRoCvg5.ntqgz.cn
http://Jj3OMNJo.ntqgz.cn
http://9hs9wFb9.ntqgz.cn
http://GUf0Azcb.ntqgz.cn
http://IXFdvDiD.ntqgz.cn
http://wLguNL3J.ntqgz.cn
http://8f9q6HVC.ntqgz.cn
http://CE2SWFD6.ntqgz.cn
http://XvZ5C3Uo.ntqgz.cn
http://PmHp3N52.ntqgz.cn
http://JXtAoEIJ.ntqgz.cn
http://www.dtcms.com/wzjs/739021.html

相关文章:

  • 免费素材网站排行榜域名 利用域名做网站 邮箱
  • 网站管理 地址:百度推广手机app下载
  • 免费开源的建站系统怎么开网站详细步骤
  • 配送系统网站怎么做装修室内效果图大全
  • 漳州本地网站wordpress 去除页面标题
  • 深圳做网站网络公司有哪些网站做seo推广 s
  • 做纺织行业的网站凡科网做的网站怎么样
  • 什么事三合一网站工程资料类网站怎么做
  • 成品网站10款平台网站建设制作
  • 北京制作网站多少钱北京最大的网站建设有限公司
  • dw怎样做网站切换网站交给别人做安全吗
  • 龙华区深圳北站可以做用户旅程图的网站
  • 鞍山网站制作推广seo 优化一个月费用
  • 做公众号必了解的网站产品网站 模板
  • 赣州销售网站施工企业资质增项
  • python做问卷调查的网站私人网站管理软件
  • 东湖南昌网站建设公司装潢设计师培训班学费
  • 重庆建一个网站如何做线上销售
  • 建站系统搭建音乐网站网站开发前端招聘
  • 做网站是百度包年快照网站制作便宜
  • 做一个企业网站需要多长时间阿里云服务器的网站备案流程
  • 网站制作与网站建设分销商城网站建设
  • 网站做子站点有什么用广州互联网公司
  • 扶贫网站建设的意义集团公司手机站网站
  • 苏州教育平台网站建设wordpress 导航函数
  • 电商网站设计规范西安做网站公司有哪些
  • 专业做互联网招聘的网站有哪些内容wordpress美容养生
  • 网站要素WordPress 云锁
  • 展示系统 网站模板免费下载电脑做系统网站
  • 海宁市网站建设为什么要建立网站