springboot接口接收数组及多个参数的解决方案

2023-11-04

本例为个人经历,必然存在认知局限与不足,欢迎指正以及提供更好方法。 

 

若接口中需要接受数组,那么接口应该如何写呢?

一般而言我们会想到

@PostMapping("/xxxx")
public String test(List list){
    do sth;
}

假设我们写的接口正确,写完接口我希望使用postman来测试一下

params中似乎无法传数组呀

诶?在body中用json格式传参数不就好了吗!

于是,修改接口

@PostMapping("/xxxx")
public String test(@RequestBody List list){
    do sth;
}

问题解决~

但是往往我们写接口的时候需要接收的参数不止简单数组,有可能是一个非常复杂的对象。

这里我们将问题假设为需要接收的参数为对象+数组,如下。

{
	"abroad": {
		"id":5,
		"studentId":1,
		"projectName":"哈佛访学"
	},
	"params": ["id","studentId","projectName"]
}

自然地,我们一般会这么想:

@PostMapping("/xxxx")
public String test(@RequestBody Abroad abroad,@RequestBody List<String> params){
    do sth;
}

但是这是错的!!

如果使用@RequestBody,只允许有一个参数。那希望上传多个对象怎么办呢?对!就是包个对象!!类似下面这样:

@PostMapping("/xxxx")
public String test(@RequestBody ParaDTO paraDTO){
    do sth;
}

class ParaDTO{
    Abroad abroad;
    List<String> params;
}

解决~

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

springboot接口接收数组及多个参数的解决方案 的相关文章

  • Spring Security 通过并发登录尝试将用户锁定

    我是安全新手 遇到了一个问题 该问题导致用户帐户被锁定 只有重新启动应用程序才能修复它 我有一个带有 spring security 4 0 2 RELEASE 应用程序的 spring boot 1 3 0 BUILD SNAPSHOT
  • 透明平开窗

    我有一点JWindow上面有一个标志 用户可以将东西拖到上面 我主要在 OS X 上开发我的应用程序 为了获得我使用的透明窗口 setBackground new Color 0 0 0 0 在 Mac 上 这工作得很好 但在 Window
  • JavaFX Platform.runLater 的使用以及从不同线程访问 UI

    我有几个问题Platform runLater 我有一个 JavaFX 应用程序类 在这个类中 我运行一个线程 该线程从网络套接字读取数据 现在当我创建一个新的Stage在线程内部 系统抛出异常 JavaFX 事件调度程序线程和我的网络读取
  • 设置 SWT Shell 的默认字体

    有没有办法为整个 Shell 设置默认字体 以便任何新控件都将使用相同的字体 看来现在我必须为我创建的每个控件设置字体 这导致了太多的冗余 默认使用的字体由平台选择 请参阅中的其他信息 类字体 SWT 标准小部件工具包 http book
  • 在Java中清空数组/处理

    除了循环遍历数组中的每个元素并将每个元素设置为 null 之外 Java 处理中是否有一个本机函数可以简单地清空数组 或销毁它 以便能够将其重新声明为新数组 There s Arrays fill myArray null 并不是说它执行的
  • 在 IntelliJ 上进行 Google App Engine Java 开发?

    令人烦恼的是 Google App Engine 已成为其中的另一个项目 他们只发布 Eclipse 插件 如 Spring Webflow 而我更喜欢 IntelliJ 你能用IntelliJ成功运行本地测试环境吗 并调试 部署本地或实时
  • 使用 jpql 和 jpa 从日期字段中提取年份

    我想从数据库中的一行中提取年份部分 以便将其与值进行比较 这是我的功能 public List
  • 如何识别 Java 中的不可变对象

    在我的代码中 我正在创建一个对象集合 这些对象将由各种线程以只有在对象不可变的情况下才安全的方式访问 当尝试将新对象插入到我的集合中时 我想测试它是否是不可变的 如果不是 我将抛出异常 我能做的一件事是检查一些众所周知的不可变类型 priv
  • 哈希码是否用于加速集合中的对象查找?

    IIUC 相同类型的两个不同对象可以存储在 HashSet 中 即使两个对象在以下情况下返回相同的值 hashCode 叫做 例如根据本文 https eclipsesource com blogs 2012 09 04 the 3 thi
  • 如何修复 Android 7.0 的 Spinner 模式下的 DatePickerDialog?

    我目前正在开发一个简单的项目 其中包含一个包含在 Web 视图中的网站 具有少量交互 以提高网站本身和 Android 移动设备之间的交互性 由于该网站包含用户生日的日期输入字段 因此我希望实现一个与所有设备兼容的旋转格式的日期选择器 我尝
  • 以编程方式设置 Logback Appender 路径

    我正在尝试以编程方式设置 Logback 附加程序路径 滚动文件附加器 http logback qos ch apidocs ch qos logback core rolling RollingFileAppender html准确地说
  • 如何制作无限的jscrollpane?

    我之前已经实现过拖动滚动 但是创建无限滚动窗格的最佳方法是什么 当然不会有任何滚动条 我将实现拖动滚动 我想做的是在无限表面上实现动态加载 EDIT 当然 它实际上不会是无限的 我想问如何伪造它 您可以执行以下操作 AdjustmentCl
  • 打印 jasper 文件时执行报表 SQL 语句时出错

    我修改了一个旧项目 但无法确定这段代码有什么问题 使用下面的 jrxml它创造 jasper文件 当我打印 jasper 文件时 使用此代码JasperPrint jasperPrint JasperFillManager fillRepo
  • Java元数据读写

    是否可以以通用方式 对于所有图像类型 在 Java 中读取和写入元数据 我找到了一些示例 但它们总是特定的 例如 JPEG 或 PNG 我需要一些足够通用的东西 而不是到处都有 if else 语句 我不想重写源代码 但这是一个很好的例子
  • 不要模拟值对象:过于通用的规则,没有解释

    以下是 Mockito 单元测试框架的引用 不要模拟值对象 为什么有人会想要这样做呢 因为实例化对象太痛苦了 gt 无效 原因 如果创造新的装置太困难 那就是一个迹象 代码可能需要一些认真的重构 另一种方法是创建 价值对象的构建者 有一些工
  • Java:使用 Java.util.concurrent 线程访问读取线程串行端口

    我正在尝试编写一个 Java 串行设备驱动程序并想使用 对我来说是新的 java util concurrent包裹 我有一种发送数据包然后等待 ACK 的方法 我打算有炭 接收在不同的线程中运行 如果接收线程收到 ACK 它应该使用发送数
  • 如何使用云打印打印Android活动显示

    我正在尝试将 Google 云打印实现到应用程序中 遵循集成指南 https developers google com cloud print docs android 我试图通过打印 google com 来保持基本 单击我创建的打印按
  • 在服务器内部调用 Web 服务

    我有一个网络服务 getEmployee 当传递 id 时 它会获取单个员工的员工详细信息 同一服务器上的另一个 Web 服务 getEmployeeList 当传递一个部门时 它会获取整个员工列表 这将获取部门的 ID 然后调用 getE
  • 如何使用剪辑来减少绘画时间?

    我正在尝试使用 Clip 来减少 CPU 负载 但剪辑在屏幕上留下了一些我似乎无法摆脱的垃圾 另外 打开和关闭剪辑似乎对 CPU 负载没有影响 在任一情况下 大部分时间似乎都花在重绘管理器和绘制缓冲图像上 import static jav
  • Libgdx 和 Google 应用内购买结果

    我遵循了这些指示 https github com libgdx libgdx wiki Interfacing with platform specific code使用 ActionResolver 接口集成 Libgdx 和原生 An

随机推荐

  • 初探Spring Data Elasticsearch

    个人博客 dogbin vip Spring Data Elasticsearch 介绍 Spring Data Elasticsearch 基于 spring data API 简化 Elasticsearch 操作 将原始操作 Elas
  • Steam游戏《TownScaper》技术分析!

    TownScaper是今年6月份上线Steam的建造类游戏 不过它的作者已经在twitter做了一年多的游戏开发日志 结合2019年欧洲独立游戏大会的一场演讲 EPC2018一场演讲 输出一下这个游戏的技术要点 首先作者从业经验非常令人羡慕
  • 计算阶乘的两种实现方式(Java)

    本文以计算5的阶乘为例 5 5 4 3 2 1 120 一 循环阶乘 1 While循环 public class TestWhileFactorial public static void main String args int res
  • 数字图像处理:局部直方图处理(Local Histogram Processing)

    前往老猿Python博文目录 https blog csdn net LaoYuanPython 一 引言 在前面章节 数字图像处理 直方图均衡学习总结 感悟 数字图像直方图匹配或规定化Histogram Matching Specific
  • 【C++】struct VS class

    文章目录 面向过程 面向对象 C 的struct和class 1 和C的struct的小差异 2 访问权限符 3 类的大小 类的存储 4 成员函数如何区分对象 5 struct和class的区别 6 this指针的两个面试题 一 this存
  • CMake 学习笔记(target_compile_features())

    CMake 学习笔记 target compile features 这一篇博客讲一讲target compile features 这条命令时 CMake 3 1 引入的 在这个之前 如果我们要设置C 编译开启 C 11 的支持 需要用如
  • SourceInsight修改暗灰色护眼主题(模仿vscode和sublime text的风格)

    SourceInsight护眼主题 仿vscode和sublime text 一 仿vscode 二 仿sublime text 三 自己动手 丰衣足食 1 载入主题 2 自制或修改主题 一 仿vscode 效果图 主题文件下载链接 htt
  • 配置MQTT

    MQTT 文章目录 MQTT 快速上手 源码安装mosquitto 配置Broker SDK调用接口 Python NodeJs WebJs Java C 快速上手 安装Broker服务 apt install mosquitto mosq
  • 泊松分布与泊松回归模型

    泊松分布 Poisson分布 法语 loi de Poisson 英语 Poisson distribution 译名有泊松分布 普阿松分布 卜瓦松分布 布瓦松分布 布阿松分布 波以松分布 卜氏分配等 是一种统计与概率学里常见到的离散概率分
  • Go 语言面试题(二):实现原理

    文章目录 Q1 init 函数是什么时候执行的 Q2 Go 语言的局部变量分配在栈上还是堆上 Q3 2 个 interface 可以比较吗 Q4 两个 nil 可能不相等吗 Q5 简述 Go 语言GC 垃圾回收 的工作原理 Q6 函数返回局
  • Android RxJava:功能性操作符 全面讲解

    前言 Rxjava 由于其基于事件流的链式调用 逻辑简洁 使用简单的特点 深受各大 Android开发者的欢迎 Github截图 如果还不了解 RxJava 请看文章 Android 这是一篇 清晰 易懂的Rxjava 入门教程 RxJav
  • Python特点及优势

    Python介绍 Python由荷兰数学和计算机科学研究学会的吉多 范罗苏姆 于1990 年代初设计 作为一门叫做ABC语言的替代品 Python提供了高效的高级数据结构 还能简单有效地面向对象编程 Python语法和动态类型 以及解释型语
  • [远程办公] 通过阿里云反向代理实现内网穿透

    准备工作 购买一台阿里云服务器 新用户第一个月免费 由于仅作数据转发用 配置要求不高 除了传输带宽外 其余配置选最低的就行 内网主机 生成ssh密匙 ssh keygen 与远程主机建立免密登录ssh copy id root ip 安装依
  • docker安装tomcat,以及常用操作

    1 安装tomcat镜像 访问docker hub仓库找出你想安装的版本 docker hub 网址 https registry hub docker com 直接在搜索框里搜tomcat就可以 如果想把自己镜像放到上边就自己注册一个账号
  • Docker 搭建sonarqube,并集成阿里P3C规则

    简介 本文安装的sonarqube是7 6 community版本 未安装最新版是因为7 9之后不再支持mysql 如果你安装的是其他版本的sonarqube 那么不要使用插件包中的插件 会有版本兼容性问题 插件 插件包 插件包中包含jav
  • Android:Action 与 Data 属性

    前言 Intent 的中文翻译就是 意图 的意思 它是 Android 程序中传输数据的核心对象 在 Android 官方文档中 对 Intent 的定义是执行某操作的一个抽象描述 一个 Intent 对象实质上是一组被捆绑的信息 它可以是
  • JAVA maven 编写UDF适用于hive和impala

    hive 内置函数很少 我们可以通过自定义的方式添加新的UDF上去 来增强hive的处理能力 比如hive没有字符串包含的UDF 我们通过Java maven的方式来编写一个字符串包含的UDF 1 新建maven工程 2 修改pom xml
  • android studio升级指定版本,Android studio升级到3.3遇到的问题

    问题一 android native 的方法无法与cpp中方法关联 问题二 External Native Build Issues Error configuring 最近由于用opencv 做物体识别的demo 然后新建一个工程 含有C
  • 日志记录的几个重要地方

    在和经理聊天之前自己对日志的打印是比较随意的 没有太多的在意细节 在聊天之后发现这几个地方的日志是必须的 1 参数配置 一般项目启动时就会加载参数 日志级别为fatal 这是一定会打印的 让我们清楚的知晓参数加载的情况 2 数据进来的时候
  • springboot接口接收数组及多个参数的解决方案

    本例为个人经历 必然存在认知局限与不足 欢迎指正以及提供更好方法 若接口中需要接受数组 那么接口应该如何写呢 一般而言我们会想到 PostMapping xxxx public String test List list do sth 假设