GET请求传参对象的list

2023-11-05

之前试过get请求传参是数组,但是试的都是基本类型,现在需求要是自定义的对象,怕写的不对,就提前自测了一下。
调用方代码:

@Resource
    private TestClient testClient;
    @Test
    public void apiTest(){
        List<UserVO> list= new ArrayList<>();
        UserVO t = new UserVO();
        t.setBizId(10);
        t.setUserId("015df69a31c21000");
        t.setType(2);
        UserVO s = new UserVO();
        s.setBizId(10);
        s.setUserId("015ef2d84fc21000");
        s.setType(2);
        list.add(t);
        list.add(s);
        Map<String,Object> params = new HashMap<>();
        params.put("userVOS", list);
        JSONObject res = testClient.test(params);
        System.out.println(res);
    }

客户端代码:

@RestController
@RequestMapping("/inner/user")
public class UserInnerController {
    @GetMapping("/batch")
    public R<?> batchGetUser(@RequestParam("userVOS") List<UserVO> userVOS){
        return R.success();
    }

这种情况是直接报错,提示类型转换错误,String没法直接转为对象,所以想到了通过json来转换对象。
客户端改为如下代码:

@RestController
@RequestMapping("/inner/user")
public class UserInnerController {

    @GetMapping("/batch")
    public R<?> batchGetUser(@RequestParam("userVOS") String userVOS){
        List<UserVO> data = JSONObject.parseArray(JSON.toJSONString(userVOS),UserVO.class);
        return R.success();
    }

依旧报错,但是报错信息变为json转换时候的问题,想到可能是发参数的时候没有转为json字符串,修改请求方代码:

params.put("userVOS", JSON.toJSONString(list));

此时依旧报错,还是json解析时的错误,请求时候传递了json字符串,接收没必要再转,去掉客户端代码改为:

List<UserVO> data = JSONObject.parseArray(userVOS,UserVO.class);

此时请求成功。
所以,请求时要转为json字符串,接收时直接parse即可。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GET请求传参对象的list 的相关文章

  • (Java) App Engine 中的静态文件无法访问

    The 示例文档 http code google com appengine docs java gettingstarted staticfiles html表示您只需将文件放在 war 或子目录 中 并且应该可以从主机访问它们 只要它
  • HAProxy SSL终止+客户端证书验证+curl/java客户端

    我希望使用我自己的自签名证书在 HAProxy 上进行 SSL 终止 并使用我创建的客户端证书验证客户端访问 我通过以下方式创建服务器 也是 CA 证书 openssl genrsa out ca key 1024 openssl req
  • 将SQL数据引入jquery availabletag

    我正在尝试制作自动完成文本框 但如何将 SQL 数据包含到 jquery 可用标记并循环它 我无法根据以下代码执行该功能 任何帮助 将不胜感激 谢谢 这是我的预期输出 预期结果演示 http jsfiddle net VvETA 71 jq
  • Reactive Spring 不支持 HttpServletRequest 作为 REST 端点中的参数?

    我创建了一个 RestController 如下所示 RestController public class GreetingController RequestMapping value greetings method RequestM
  • 从 MS Access 中提取 OLE 对象(Word 文档)

    我有一个 Microsoft Access 数据库 其中包含一个包含 Microsoft Word 文档的 OLE 对象字段 我试图找到代码来检索保存在 OLE 对象中的文件 以便用户可以从我的 JavaFx 应用程序中的按钮下载它 但没有
  • WebApi 自定义 JsonConverter 未调用

    我为 Guid 实现了一个自定义 JsonConverter 如果我在像这样序列化的类的属性 Guid 类型 上声明它 JsonConverter typeof JsonGuidConverter 然后它被调用并且工作正常 但是 我想 自动
  • 在 MongoDB 和 Apache Solr 之间同步数据的简单方法

    我最近开始使用 MongoDB 和 Apache Solr 我使用 MongoDB 作为数据存储 并且希望 Apache Solr 为我的数据创建索引 以实现应用程序中的搜索功能 经过一些研究 我发现 基本上有两种方法可以在 MongoDB
  • 用于缓存的 Servlet 过滤器

    我正在创建一个用于缓存的 servlet 过滤器 这个想法是将响应主体缓存到memcached 响应正文由以下方式生成 结果是一个字符串 response getWriter print result 我的问题是 由于响应正文将不加修改地放
  • 寻找局部最小值

    下面的代码正确地找到了数组的局部最大值 但未能找到局部最小值 我已经进行了网络搜索 以找到找到最小值的最佳方法 并且根据这些搜索 我认为我正在使用下面的正确方法 但是 在几天的时间里多次检查每一行之后 下面的代码中有一些我仍然没有看到的错误
  • Java - 从 XML 文件读取注释

    我必须从 XML 文件中提取注释 我找不到使用 JDOM 或其他东西来让它们使用的方法 目前我使用 Regex 和 FileReader 但我不认为这是正确的方法 您可以使用 JDOM 之类的东西从 XML 文件中获取注释吗 或者它仅限于元
  • IntelliJ 组织导入

    IntelliJ 是否具有类似于 Eclipse 中的组织导入功能 我拥有的是一个 Java 文件 其中多个类缺少导入 例子 package com test public class Foo public Map map public J
  • 无需登录即可直接从 Alfresco 访问文件/内容

    我的场景是这样的 我有一个使用 ALFRESCO CMS 来显示文件或图像的 Web 应用程序 我正在做的是在 Java servlet 中使用用户名和密码登录 alfresco 并且我可以获得该登录的票证 但我无法使用该票证直接从浏览器访
  • 我可以限制分布式应用程序发出的请求吗?

    我的应用程序发出 Web 服务请求 提供商处理的请求有最大速率 因此我需要限制它们 当应用程序在单个服务器上运行时 我曾经在应用程序级别执行此操作 一个对象跟踪到目前为止已发出的请求数量 并在当前请求超出允许的最大负载时等待 现在 我们正在
  • 如何让 Emma 或 Cobertura 与 Maven 一起报告其他模块中源代码的覆盖率?

    我有一个带有 Java 代码的多模块 Maven 设置 我的单元测试在其中一个模块中测试多个模块中的代码 当然 这些模块具有相互依赖性 并且在测试执行之前根据需要编译所有相关模块中的代码 那么 如何获得整个代码库覆盖率的报告 注意 我不是问
  • Hadoop NoSuchMethodError apache.commons.cli

    我在用着hadoop 2 7 2我用 IntelliJ 做了一个 MapReduce 工作 在我的工作中 我正在使用apache commons cli 1 3 1我把库放在罐子里 当我在 Hadoop 集群上使用 MapReduceJob
  • 如何为 json 请求对象指定可选元素

    在 API 蓝图中 我希望为 POST 消息指定一个可选的 json 元素 示例 Add a new User POST To add a User send a JSON Request application json name A n
  • JMS 中的 MessageListener 和 Consumer 有什么区别?

    我是新来的JMS 据我了解Consumers能够从队列 主题中挑选消息 那么为什么你需要一个MessageListener因为Consumers会知道他们什么时候收到消息吗 这样的实际用途是什么MessageListener 编辑 来自Me
  • HttpClient请求设置属性问题

    我使用这个 HttpClient 库玩了一段时间 几周 我想以某种方式将属性设置为请求 不是参数而是属性 在我的 servlet 中 我想使用 Integer inte Integer request getAttribute obj 我不
  • 使用 JFreeChart 为两个系列设置不同的 y 轴

    我正在使用 JFreeChart 使用折线图绘制两个数据系列 XYSeries 复杂的因素是 其中一个数据系列的 y 值通常远高于第二个数据系列的 y 值 假设第一个系列的 y 值约为数百万数量级 而第二个数据系列的 y 值约为数百万数量级
  • 检查应用程序是否在 Android Market 上可用

    给定 Android 应用程序 ID 包名称 如何以编程方式检查该应用程序是否在 Android Market 上可用 例如 com rovio angrybirds 可用 而 com random app ibuilt 不可用 我计划从

随机推荐

  • day7pyecharts制图-组合图

    Pyecharts制图 标题一 柱状图 导入柱状图的类 from pyecharts charts import Bar 导入图标配置类 from pyecharts import options 基本的柱状图 1 创建图标对象 bar B
  • 在Linux上部署KVM和使用

    实验前 我们关闭防火墙 systemctl stop firewalld systemctl enable firewalld 如果我们之前安装过KVM或者有残余 可以先执行以下命令来清除一下 yum remove rpm qa egrep
  • oracle中常用的set命令

    time 2008 2 1author skate oracle中常用的set命令 前一阵在做数据库数据的转移 所以就写个shell脚本来自动化完成 用shell脚本生成sql脚本时 就要用到oracle的set的命令来去掉一些不需要的提示
  • JVM内存划分

    1 程序计数器 每一个线程都有自己的一个程序计数器 创建线程时被一起创建 用于记录当前字节码执行位置 例如一个线程在执行过程中被挂起 一定时间片后 又继续执行 此时需要进行现场恢复 那么就可以在对应的程序记录器中找到被挂起时的下一条指令将要
  • java中mybatis原理,mybatis的工作原理

    由以上图可以看出 mybatis框架在操作数据库时大致经过了8个步骤 对这8个步骤分析如下 1 读取mybatis配置文件mybatis config xml mybatis config xml配置文件作为mybatis的全局配置文件 配
  • C++多态

    多态是C 面向对象三大特性之一 多态分为两类 静态多态 函数重载 和 运算符重载属于静态多态 复用函数名 动态多态 派生类和虚函数实现运行时多态 静态多态和动态多态区别 静态多态的函数地址早绑定 编译阶段确定函数地址 动态多态的函数地址晚绑
  • 图像处理:摩尔纹

    文章目录 1 什么是摩尔纹 2 怎样消除摩尔纹 总结 1 什么是摩尔纹 什么是摩尔纹 当我们对着电脑屏幕拍照时 会发现规则的彩色条纹 那就是我们常说的摩尔纹 它是由于采样不足 离散图像数据混淆产生的 刚才说的在空域上的混淆产生的摩尔纹 时域
  • 2021-05-14 thread已经退出析构qtcreator中仍显示thread正在运行

    threadobject已经析构 thread isrunning 是false thread isfinishing 也是true 说明thread退出了 但是qtcreator调试窗口中还是可见Qthread状态竟然是正在运行 什么鬼
  • python的22个基本语法

    人生苦短 我用Python Python编程语言是最容易学习 并且功能强大的语言 只需会微信聊天 懂一点英文单词即可学会Python编程语言 但是很多人声称自己精通Python 然后自己却写不出Pythonic的代码 对很多常用的包不是很了
  • 使用QT对MYSQL数据库进行简单操作

    include 在这里插入代码片 QtMySql h include
  • Transformer之编码器

    Bert是从transformer中衍生出来的预训练的模型 transformer模型已经得到广泛应用 应用的方式是先进行预训练语言模型 然后把预训练的模型适配给下游任务 以完成各种不同的任务 比如分类 生成 标记等 1 transform
  • windows10配置自己的深度学习、机器学习工作站

    活动地址 CSDN21天学习挑战赛 1 anaconda3 官网 下载速度超级慢 查找镜像源 Windows Python 3 9 64 Bit Graphical Installer的传到了csnd下载链接 右键 管理员身份运行 否则有的
  • 前端js数据加密解密

    一 最简单的加密解密 函数escape 和unescape 二 base64加密 1 introduction base64是网络上最常见的用于传输8bit字节码的编码方式之一 base64就是一种基于64个可打印字符来表示二进制数据的方法
  • MaskRcnn(二)实例分割的图像与标签同时进行增强

    实例分割数据增强 一 增强原因 1 防止过拟合 1 1 过拟合的定义 1 2 过拟合出现的原因 1 3 解决方法 2 增强结果模型的鲁棒性和泛化能力 2 1 鲁棒性 2 2 泛化性 3 提高识别精度 二 常用数据增强方法 1 平移 2 缩放
  • Pytorch史上最全torch全版本离线文件下载地址大全(9月最新)

    以下为pytorch官网的全版本torch文件离线下载地址 torch全版本whl文件离线下载大全https download pytorch org whl torch 其中的文件版本信息如下所示 部分版本信息 根据需要仔细寻找进行下载
  • 【计算机网络】实验五 UDP

    Objective To look at the details of UDP User Datagram Protocol UDP is a transport protocol used throughout the Internet
  • VMware14创建虚拟机(centos7)

    新建虚拟机的前提是需要准备好虚拟机的镜像 我这里已经准备好的了 打开VMware 新建虚拟机 然后 选择自定义 也可以选择典型安装 下一步 下一步 下一步 下一步 下一步 下一步 在这里介绍一下创建虚拟机网络连接的几种网络类型及对应的功能
  • 李宏毅pm2.5作业【转载】

    李宏毅机器学习PM2 5作业 使用pyCharm2022 2 1版本 python10 0 python也不会 计算机也不会 啥都不会 只带了个脑子考了计算机研究生 研究生选了人工智能方向 看来注定是漫长的学习之旅 PM2 5作业 我是一个
  • 世上最全NVDIA GPU参数列表: V100, A100, A800,H100,3090,4090, A40, A30等性能参数

    1 GeForce RTX 4090 GeForce RTX 4090 GPU 引擎规格 NVIDIA CUDA 核心数量 16384 加速频率 GHz 2 52 基础频率 GHz 2 23 显存规格 标准显存配置 24 GB GDDR6X
  • GET请求传参对象的list

    之前试过get请求传参是数组 但是试的都是基本类型 现在需求要是自定义的对象 怕写的不对 就提前自测了一下 调用方代码 Resource private TestClient testClient Test public void apiT