get请求包参数属性为数组(二)

简介: get请求包参数属性为数组(二)

伤害可能被原谅,但不会被遗忘——伊索

之前写过一篇get请求包含参数属性为数组

但是发现不适用数组不为对象的情况,例如ids: [1024, 2048, 4096],而且可读性有点差,使用起来还得转下参数,所以封装了改良版

let searchParams = {
    current: 1,
    size: 1,
    orders: [
                {
                    column:'age',
                    asc:true
                },
                {
                    column:'name',
                    asc:true
                }
    ],
    ids: [1024, 2048, 4096]
}
function resolveParam(params){
    const entries = Object.entries(params).flatMap(([k,v])=> {
        if(!Array.isArray(v)){
            return [[k,v]]
        }
        return Object.entries(v).flatMap(([index,value])=> {
            if(typeof value == 'object'){
                return Object.entries(value).map(([ak,av])=> [`${k}[${index}].${ak}`,av])
            }
            return [[`${k}[${index}]`,value]]
        })
    })
    const result = Object.fromEntries(entries)
    return new URLSearchParams(result).toString()    
}
// 可直接拼到请求url "?" 后面
const yourParamStr = resolveParam(searchParams)
// 解码打印查看参数结果
console.log(decodeURI(yourParamStr))


执行效果:

相关文章
|
Java 微服务 Spring
FeignClient GET请求方式无法解析对象参数
FeignClient GET请求方式无法解析对象参数,报java.lang.IllegalArgumentException: method GET must not have a request body
791 0
postman 传入不同组参数循环调用接口
postman 传入不同组参数循环调用接口
1395 0
postman 传入不同组参数循环调用接口
|
1月前
|
JSON 前端开发 数据格式
@RequestMapping运用举例(有源码) 前后端如何传递参数?后端如何接收前端传过来的参数,传递单个参数,多个参数,对象,数组/集合(有源码)
文章详细讲解了在SpringMVC中如何使用`@RequestMapping`进行路由映射,并介绍了前后端参数传递的多种方式,包括传递单个参数、多个参数、对象、数组、集合以及JSON数据,并且涵盖了参数重命名和从URL中获取参数的方法。
66 0
@RequestMapping运用举例(有源码) 前后端如何传递参数?后端如何接收前端传过来的参数,传递单个参数,多个参数,对象,数组/集合(有源码)
|
4月前
|
存储 资源调度 前端开发
JavaScript 使用axios库发送 post请求给后端, 给定base64格式的字符串数据和一些其他参数, 使用表单方式提交, 并使用onUploadProgress显示进度
使用 Axios 发送包含 Base64 数据和其他参数的 POST 请求时,可以通过 `onUploadProgress` 监听上传进度。由于整个请求体被视为一个单元,所以进度可能不够精确,但可以模拟进度反馈。前端示例代码展示如何创建一个包含 Base64 图片数据和额外参数的 `FormData` 对象,并在上传时更新进度条。后端使用如 Express 和 Multer 可处理 Base64 数据。注意,实际进度可能不如文件上传精确,显示简单加载状态可能更合适。
|
6月前
|
前端开发 小程序
前端get请求参数包含数组的情况
前端get请求参数包含数组的情况
146 0
|
11月前
|
JavaScript 前端开发
get请求包含参数属性为数组
get请求包含参数属性为数组
103 1
|
SQL JSON Java
json传参到java接口部分参数接收不到
json传参到java接口部分参数接收不到
395 0
json传参到java接口部分参数接收不到
|
前端开发 JavaScript API
|
缓存 NoSQL Java
如何给多参数接口添加缓存(根据方法名字+参数名生成对应的key)
如何给多参数接口添加缓存(根据方法名字+参数名生成对应的key)
203 0
如何给多参数接口添加缓存(根据方法名字+参数名生成对应的key)
|
JSON 前端开发 Java
对前端传入的json对象解析成多个对象
如果是多个对象呢?那怎么解决这个问题? 此时就可以用到: multiRequestBodyDemo(@MultiRequestBody("dog") Dog dog, @MultiRequestBody("user") User user) 这种方式进行接收了。但spring boot是不支持这种方式的。因此,就需要自己写一个解析器来解析这样的传入方式和接收的方式。通常,比如我们有分页和对象时,就可以采用这种方式进行接收。
353 0
对前端传入的json对象解析成多个对象