不定参数入参

简介: 支持JSON入参的接口开发示例,涵盖单个/多个独立参数及封装对象参数的处理方式。通过@RequestBody接收JSON数据,结合@Valid进行参数校验,提升代码规范性与可维护性。

非JSON格式入参
2.JSON入参
2.1 单个或多个独立参数
Java
运行代码
复制代码
1
2
3
4
5
@PostMapping(value = "/order/detail", produces = MediaType.APPLICATION_JSON_VALUE)
public ResultDTO getInfo(@RequestBody JSONObject jsonParams) {
long id = jsonParams.getLong("id");
String name = jsonParams.getString("name");
}
2.2 封装参数
Java
运行代码
复制代码
1
2
3
4
@PostMapping(value = "/init", produces = MediaType.APPLICATION_JSON_VALUE)
public ResultDTO initConfig(@Valid @RequestBody RequestParam param) {
return initService.initConfig(param);
}
其中封装入参对象就是一个包含各入参函数对象的Object
这里同步做了数据校验,可忽略也可在其项目参考,其中包资源
import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
Java
运行代码
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
@Data
public class RequestParam {

private long id;

@NotBlank(message = "姓名不能为空")
private String name;

@NotBlank(message = "年龄不能为空")
private String age;

}

相关文章
|
存储 前端开发 Java
【C++ 多线程 】C++并发编程:精细控制数据打印顺序的策略
【C++ 多线程 】C++并发编程:精细控制数据打印顺序的策略
508 1
|
分布式计算 Hadoop Java
MapReduce编程:自定义分区和自定义计数器
MapReduce编程:自定义分区和自定义计数器
339 0
|
供应链 前端开发 JavaScript
Java开源进销存系统源码,支持手机APP扫码进出库
管店云主要应用于零售门店、商贸批发、生产工厂等行业领域,并可定制开发以满足各行各业的特定需求。管店云包括电脑端和手机APP端,APP支持扫码进出库,操作非常方便。
620 0
Java开源进销存系统源码,支持手机APP扫码进出库
|
8月前
|
开发工具 Python
使用Python和OpenAPI将云上的安全组规则填写入Excel
本文介绍如何通过Python脚本自动化获取阿里云安全组及其规则信息,并将结果导出为Excel表格。相比CLI命令行方式,Python实现更高效、便捷,适用于需要批量处理和交付的场景。
使用Python和OpenAPI将云上的安全组规则填写入Excel
|
10月前
|
机器学习/深度学习 运维 资源调度
运维,不再“救火”!机器学习如何让故障预警成为现实?
运维,不再“救火”!机器学习如何让故障预警成为现实?
340 2
|
存储 C语言
【C语言程序设计——函数】递归求斐波那契数列的前n项(头歌实践教学平台习题)【合集】
本关任务是编写递归函数求斐波那契数列的前n项。主要内容包括: 1. **递归的概念**:递归是一种函数直接或间接调用自身的编程技巧,通过“俄罗斯套娃”的方式解决问题。 2. **边界条件的确定**:边界条件是递归停止的条件,确保递归不会无限进行。例如,计算阶乘时,当n为0或1时返回1。 3. **循环控制与跳转语句**:介绍`for`、`while`循环及`break`、`continue`语句的使用方法。 编程要求是在右侧编辑器Begin--End之间补充代码,测试输入分别为3和5,预期输出为斐波那契数列的前几项。通关代码已给出,需确保正确实现递归逻辑并处理好边界条件,以避免栈溢出或结果
727 16
|
IDE 开发工具 Windows
idea和webstorm性能优化
本文介绍了如何优化IDE(如IntelliJ IDEA和WebStorm)的性能。当IDE检测到启用实时保护的Microsoft Defender时,可能会影响性能。文章提供了自动或手动配置Defender排除列表的方法,通过将项目路径添加到排除列表中,可以显著提升IDE性能。按照步骤操作,确保以管理员身份运行IDE,以实现最佳效果。
655 1
idea和webstorm性能优化
|
SQL 分布式计算 大数据
【赵渝强老师】大数据生态圈中的组件
本文介绍了大数据体系架构中的主要组件,包括Hadoop、Spark和Flink生态圈中的数据存储、计算和分析组件。数据存储组件包括HDFS、HBase、Hive和Kafka;计算组件包括MapReduce、Spark Core、Flink DataSet、Spark Streaming和Flink DataStream;分析组件包括Hive、Spark SQL和Flink SQL。文中还提供了相关组件的详细介绍和视频讲解。
986 0
|
Linux Shell UED
探索 Linux 命令 `dircolors`:自定义 `ls` 命令的颜色输出
`dircolors` 是 Linux 中用于自定义 `ls` 命令颜色输出的工具,它读取配置文件(默认 `/etc/DIR_COLORS` 或通过 `LS_COLORS` 环境变量)并生成 shell 变量。
|
存储 Ubuntu 安全
在Ubuntu 18.04上安装和配置Nextcloud的方法
在Ubuntu 18.04上安装和配置Nextcloud的方法
778 0