Postman传递@requestbody标注的List集合的传参遇到的问题

news/2023/12/4 21:39:49

Postman传递@requestbody标注的List集合的传参遇到的问题

  • 引子
  • 如何测试以及遇到的问题
  • 参考文献

引子

我们想测试如下接口

@RequestMapping(value ="saveMessageRecover", method = RequestMethod.POST)
@ResponseBody
public AjaxMessage saveMessageRecover(@RequestBody List<Device> deviceList,@RequestParam("eventId") Long eventId,@RequestParam("tagValue") String tagValue) {System.out.println(deviceList.toString());return emergencyDeviceRecoverService.saveMessageRecover(deviceList, eventId, tagValue);}

如何测试以及遇到的问题

@RequestMapping(value ="saveMessageRecover", method = RequestMethod.POST)
@ResponseBody
public AjaxMessage save(@RequestBody List<Device> deviceList,@RequestParam("eventId") Long eventId,@RequestParam("tagValue") String tagValue) {return emergencyDeviceRecoverService.saveMessageRecover(list, eventId, tagValue);}

在这里插入图片描述

这里对应了三个传入参数,因为deviceList是必须的,Device作为我们自己封装的JavaBean,我们想要直接传参的话,前端传递一个List过来,这个是被@Requestbody修饰的,同时还存在两个由@RequestParam修饰的包装类,因此,

@RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的);而最常用的使用请求体传参的无疑是POST请求了,所以使用@RequestBody接收数据时,一般都用POST方式进行提交。在后端的同一个接收方法里,@RequestBody与@RequestParam()可以同时使用,@RequestBody最多只能有一个,而@RequestParam()可以有多个。

  1. 为什么要使用@RequestBody,直接传不行吗?

    当前端传来的是一个完整对象的时候,而且是以 json格式传输,只有加上注解@RequestBody,Spring 才会自动将 JSON 类型数据与我们的类进行匹配

  2. 返回给前端的是否为JSON类型?

使用@RestController注解或者@Controller+@Responbody注解

  1. postman如何传入list类型的参数?

在这里插入图片描述

我们遇到的问题?

  • 一开始总是使用大括号包围这个Bean,实际上传入一个list不需要如此。
  • 不确定如何传入一个@RequestBody和多个@RequestParam时,如何使用postman测试

如果想直接传一个list的对象集合,则不需要大括号;

如果是

public JSONObject updateProductStatus(@RequestParam(value = "ids",required = false) List<Integer> ids){

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

参考文献

  • postman入门学习
    链接: postman入门学习

  • SpringMVC参数绑定学习总结【前后端数据参数传递】
    链接: SpringMVC

  • @RequestBody的使用
    链接: RequestBody

  • @RequestBody和@RequestParam区别全面详细
    链接: RequestParam

  • Postman测试接口传入List类型的参数以及数组类型参数
    链接: Postman

  • 前后端交互--------后端传JSON给前端
    链接: JSON


http://www.ppmy.cn/news/75251.html

相关文章

Robot Dynamics Lecture Notes学习笔记之关节空间动力学控制

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 关节空间动力学 关节空间动力学控制关节阻抗调节重力补偿逆动力学控制 关节空间动力学控制 目前的工业机器人几乎完全依赖于关节位置控制的概念。它们建立在PID控制器的基础…

(学习日记)AD学习 #3

写在前面&#xff1a; 由于时间的不足与学习的碎片化&#xff0c;写博客变得有些奢侈。 但是对于记录学习&#xff08;忘了以后能快速复习&#xff09;的渴望一天天变得强烈。 既然如此 不如以天为单位&#xff0c;以时间为顺序&#xff0c;仅仅将博客当做一个知识学习的目录&a…

认识常见中间件-redis(三)-redis缓存更新策略

redis缓存更新策略主要有三种:Cache Aside Pattern、Read/Write Through Pattern、Write Behind Caching Pattern Cache Aside Pattern&#xff08;旁路缓存&#xff09; Cache Aside策略是最常用的&#xff0c;应用程序直接与「数据库、缓存」交互&#xff0c;并负责对缓存的…

【JDK】module模块系统

JDK9新特性-module模块系统 在Sources Root下新建module-info.java&#xff0c;内容格式如下所示 module modulename {//模块指令 }modulename具有唯一性一个工程&#xff0c;即使是不同的Sources Root&#xff0c;仅能存在一个module-info.java模块体内可以保留空内容或者模…

QT客户端外包开发的特点

QT是一种跨平台的C应用程序开发框架&#xff0c;主要用于开发图形用户界面(GUI)应用程序。它提供了一套丰富的类库和工具&#xff0c;可以帮助开发者快速构建高质量、可扩展、易于维护的应用程序。今天和大家分享一下QT的主要特点和注意的问题&#xff0c;希望对大家有所帮助。…

分享7款优质免费的Figma“中文插件”

今天我要向你们分享一些 Figma 的“中文插件”&#xff0c;这些插件不仅功能强大&#xff0c;而且免费使用&#xff0c;非常方便&#xff0c;而且是完全中文的页面使用起来非常便捷&#xff0c;可以大大提高设计师的效率和体验。 1、「平面 3D」 插件 首先是平面 3D 插件。该…

ETSI TS-关于SCP80

描述 GPC_UICC Configuration_v2.0.pdf 中: 规范 ts_102.225v12.1.0 Secured packet structure for UICC based applications.pdf spi kic kid编码 7 TCP/IP 的实现 在发送安全数据包之前&#xff0c;发送实体应使用定义的推送机制打开 TCP/IP 连接 在 ETSI TS 102 226 [9] …

【IDEA】DeBug(图文并茂)

文章目录 01_Debug简介和意义02_IDEA中的Debug步骤03_跳转到当前代码执行的行04_步过调试的使用05_步入调试的使用06_强制步入调试的使用07_步出调试的使用08_回退断点调试的使用09_运行到光标处10_计算表达式11_条件断点12_多线程调试 IDAEA&#xff08;Interactive Data Anal…

人人可用的开源数据可视化分析工具

大家好&#xff0c;我是互联网架构师&#xff01; 在互联网数据大爆炸的这几年&#xff0c;各类数据处理、数据可视化的需求使得 GitHub 上诞生了一大批高质量的 BI 工具。 借助这些 BI 工具&#xff0c;我们能够大幅提升数据分析效率、生成更高质量的项目报告&#xff0c;让用…

实时频谱-1.1基本概念

RF信号 RF&#xff08;射频&#xff09;是Radio Frequency的缩写&#xff0c;表示可以辐射到空间的电磁频率&#xff0c;频率范围从300KHz&#xff5e;30GHz之间。 中频 IF(intermediate frequency)&#xff0c;用来在中频衡量AM或FM调谐器抑制外来干扰的能力&#xff0c;数…

短睡眠 堀大辅 超短眠 人生更丰富

堀大辅是位每天只睡半小时的日本狠人&#xff0c;更多信息自行百度。以下内容&#xff0c;个人收集总结&#xff0c;仅供参考。 堀大辅大胆假设「只要能够减少睡眠的时间&#xff0c;我就能过得更充实」&#xff0c;便与朋友付诸行动&#xff0c;通过纪录观察每天的睡眠时数&a…

网络安全的学习路线

在众多高大上的学习路线指导中&#xff0c;尝试做一股清流&#xff0c;把要讲清楚的都讲清楚&#xff0c;该学些什么&#xff0c;学到哪个程度进入到下一阶段的学习这些才是最重要的。 在学习之前首先要做好学习的系统规划&#xff1a; 1.目前市场需求主流的岗位里&#xff0…

虚幻引擎4利用粒子系统实现物体轨迹描绘

虚幻引擎4利用粒子系统实现物体轨迹描绘 目录 虚幻引擎4利用粒子系统实现物体轨迹描绘前言粒子系统利用粒子系统实现物体轨迹描绘创建粒子系统将粒子系统的产生位置绑定到运动物体上 小结 前言 由于在物体运动时&#xff0c;想要观察其总的运动轨迹&#xff0c;以便对其控制做…

python入门(7)函数系列 2

1. 作用域 在Python中&#xff0c;作用域是指变量在程序中可访问的范围。 1.1作用域种类 Python中有以下几种作用域&#xff1a; &#xff08;1&#xff09;全局作用域&#xff08;Global Scope&#xff09;&#xff1a;全局作用域是在整个程序中都可访问的作用域。在全局作…

Unity Metaverse(七)、基于环信IM SDK实现的好友系统、私聊、群聊

文章目录 &#x1f388; 简介&#x1f388; 用户管理&#x1f388; 好友管理&#x1f388; 聊天管理&#x1f538; 发送与接收消息&#x1f538; 消息处理消息项的对象池管理 &#x1f388; 简介 在之前的文章中已经介绍了如何接入环信IM Unity SDK&#xff0c;及基于该SDK实现…

# IO模型

IO模型 非阻塞IO 当程序读取硬件数据时&#xff0c;不管硬件数据是否准备好&#xff0c;read()函数不会阻塞&#xff0c;会继续向下执行 程序会不停监测IO事件是否产生&#xff0c;CPU消耗率高 防止进程阻塞在IO函数上&#xff0c;如果要获得有效数据&#xff0c;需要轮循 …

Mybatis 缓存

JPA 原理 事务 事务是计算机应用中不可或缺的组件模型&#xff0c;它保证了用户操作的原子性 ( Atomicity )、一致性 ( Consistency )、隔离性 ( Isolation ) 和持久性 ( Durabilily )。 本地事务 紧密依赖于底层资源管理器&#xff08;例如数据库连接 )&#xff0c;…

【BBQ: A Hand-Built Bias Benchmark for Question Answering 论文精读】

BBQ: A Hand-Built Bias Benchmark for Question Answering 论文精读 InformationAbstract1 Introduction2 Related Work3 The Dataset3.1 Coverage3.2 Template Construction3.3 Vocabulary4 Validation5 Evaluation6 Results7 Discussion8 Conclusion9 Ethical Consideration…

shell sed命令

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 sed 命令sed 编辑器sed 的工作流程的三个过程命定格式常用选项常用操作 实验操作打印内容使用地址删除行替换插入 sed 命令 sed 编辑器 sed是一种流编辑器&#x…

【JavaScript】线程和进程,JavaScript线程,事件队列,事件循环 ,微任务、宏任务

❤️ Author&#xff1a; 老九 ☕️ 个人博客&#xff1a;老九的CSDN博客 &#x1f64f; 个人名言&#xff1a;不可控之事 乐观面对 &#x1f60d; 系列专栏&#xff1a; 文章目录 进程和线程JavaScript线程事件队列、事件循环微任务、宏任务面试题1面试题2 进程和线程 进程&a…
最新文章