不定参数入参

简介: 支持多种参数传递方式:非JSON格式可通过@RequestBody、@RequestParam或直接入参;JSON格式支持JSONObject解析或封装对象接收,结合@Valid实现参数校验,提升接口安全性与可维护性。(238字)

1.非JSON格式入参
Java
运行代码
复制代码

@PostMapping(value = "/init", produces = MediaType.APPLICATION_JSON_VALUE)
public ResultDTO initDoctorConfig(@Valid User param) {
   do something...
}

@PostMapping(value = "/init", produces = MediaType.APPLICATION_JSON_VALUE)
public ResultDTO initDoctorConfig(int id) {
    do something...
}

@PostMapping(value = "/init", produces = MediaType.APPLICATION_JSON_VALUE)
public ResultDTO initDoctorConfig(@RequestParam int id) {
    do something...
}

@PostMapping(value = "/init", produces = MediaType.APPLICATION_JSON_VALUE)
public ResultDTO initDoctorConfig(@RequestBody int id) {
   do something...
}

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
运行代码
复制代码

@Data
public class RequestParam {

private long id;

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

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

}

相关文章
|
存储 安全 Unix
Restic文件备份工具
Restic文件备份工具
2472 0
Excel工具-HUTOOL-读取Excel
Hutool提供ExcelReader封装,支持读取Excel为Map、Bean或列表。针对大文件,提供Excel03SaxReader和Excel07SaxReader,基于SAX模式避免内存溢出,支持按行处理数据,适用于大数据量的高效读取。
|
8月前
|
Arthas Java 测试技术
Arthas安装
Arthas是一款Java诊断工具,需先启动Java应用并安装JDK。通过arths-boot.jar启动后选择对应进程即可接入,支持多进程管理,适用于SpringBoot等应用的线上问题排查与性能分析。(236字符)
|
8月前
|
Arthas 存储 运维
记Arthas实现一次CPU排查与代码热更新
本文介绍如何使用Arthas排查线上Java应用CPU占用过高问题。通过`thread`定位高耗能线程,`watch`监控方法调用与异常,结合`jad`反编译与`redefine`实现热更新,无需重启服务即可修复代码,提升线上问题响应效率。适用于SpringBoot + JDK8环境。
|
8月前
|
缓存 开发工具 git
QLExpress使用及源码分析
QLExpress是阿里开源的轻量级规则引擎,支持通过YAML配置表达式规则。支持AST语法树解析、上下文构建与动态执行,提供脚本缓存、别名映射、指令重写等扩展能力,适用于灵活的业务逻辑解耦与动态化控制。
|
Web App开发 JavaScript Java
|
并行计算 PyTorch 算法框架/工具
Anaconda 安装并使用 PyTorch(PyCharm)
Anaconda 安装并使用 PyTorch(PyCharm)
1658 1
|
2月前
|
人工智能 BI
为什么 Agent 越用越贵?Claude 场景下 3 类 Token 漏损与工程化止损实践
在 Claude + Agent 的日常使用中,成本上升往往并非模型本身变贵,而是调用链路里出现了隐性漏损。本文从工程排障视角拆解 3 类最常见的 Token 浪费路径:重复调用、上下文膨胀、重试风暴,并给出可直接落地的观测字段、止损动作和轻量治理流程。核心目标不是“少用 AI”,而是把成本管理从“月底解释”变成“当场定位、持续优化”。
267 0
|
Android开发
1.移动后端服务介绍
1.移动后端服务介绍

热门文章

最新文章