不定参数入参

简介: 支持多种参数传递方式:非JSON格式可通过@Valid、@RequestParam、@RequestBody等接收对象或基本类型;JSON格式可传单个/多个参数封装为JSONObject,或使用@RequestBody结合实体类接收,支持数据校验,提升接口健壮性。

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

}

相关文章
|
虚拟化 Android开发 云计算
6个VMware桌面虚拟化的替代方案
6个VMware桌面虚拟化的替代方案
1330 1
|
缓存 算法 网络协议
面向5G的阿里自研标准化协议库XQUIC
XQUIC是阿里巴巴淘系架构团队自研的IETF QUIC标准化协议库实现,在手机淘宝上进行了广泛的应用,并在多个不同类型的业务场景下取得明显的效果提升,为手机淘宝APP的用户带来丝般顺滑的网络体验: 在RPC请求场景,网络耗时降低15% 在直播高峰期场景,卡顿率降低30%、秒开率提升2% 在短视频场景,卡顿率降低20%
5426 1
面向5G的阿里自研标准化协议库XQUIC
|
7月前
|
人工智能 前端开发 Unix
从CLI原理出发,如何做好AI Coding
本文探讨CLI类AI编程工具的产品美学与技术原理,分析其遵循Unix哲学的轻量、可组合、可集成特性,解析Single Agent架构与上下文工程的实践,并分享如何通过Prompt优化、任务拆解与团队对齐,高效利用CLI提升编码效率,展望AI时代人机协作的新范式。
1349 10
从CLI原理出发,如何做好AI Coding
|
7月前
|
JSON Java 数据格式
SpringBoot使用汇总
本课程系统讲解Spring Boot核心知识,涵盖环境搭建、JSON处理、日志配置、全局异常处理、AOP切面编程及MyBatis、Redis等主流框架集成,并结合实际项目搭建完整开发架构,助你快速掌握微服务开发技能。
|
4月前
|
人工智能 架构师 API
生产级AI架构实战:Claude架构师五维能力+OpenClaw多Agent部署配置攻略教程
2026年,AI架构已经从简单对话走向规模化、工程化、可落地的生产级系统。Claude架构师认证所定义的五大核心能力领域,不仅是考试要点,更是构建企业级AI应用、多智能体协同、自动化工作流、高可靠服务的真实标准。与此同时,OpenClaw(Clawdbot)作为轻量化、可扩展、本地优先的AI执行框架,完美承接这些架构理念,让个人与团队快速搭建稳定、高效、可维护的智能体系统。
1339 1
|
5月前
|
人工智能 弹性计算 API
OpenClaw/Clawdbot限流终极解决方案:免费Nvidia API+阿里云百炼Coding Plan双模型部署即可
在OpenClaw(原Clawdbot/Moltbot)的使用过程中,限流是用户最头疼的问题之一——付费Coding Plan频繁触发调用上限,免费模型功能受限,严重影响AI Agent的连续运行。2026年,这个痛点终于有了完美解法:Nvidia推出的免费API支持多款主流开源模型,搭配阿里云百炼高性价比Coding Plan,形成“免费主力+稳定备用”的双模型架构,彻底告别限流困扰。
6046 3
|
7月前
|
人工智能 JSON 数据挖掘
大模型应用开发中MCP与Function Call的关系与区别
MCP与Function Call是大模型应用的两大关键技术。前者是跨模型的标准协议,实现多工具动态集成;后者是模型调用外部功能的机制。MCP构建通用连接桥梁,支持跨平台、热插拔与细粒度管控,适用于复杂企业场景;Function Call则轻量直接,适合单模型快速开发。二者可协同工作:模型通过Function Call解析意图,转为MCP标准请求调用工具,兼顾灵活性与扩展性。未来将趋向融合,形成“解析-传输-执行”分层架构,推动AI应用标准化发展。
|
7月前
|
监控 Java 测试技术
OOM排查之路:一次曲折的线上故障复盘
本文记录了一次线上服务因Paimon数据湖与RocksDB集成引发的三次内存溢出(OOM)故障排查全过程。通过MAT、NMT、async-profiler等工具,结合监控分析与专家协作,最终定位到RocksDB通过JNI申请的堆外内存未释放是根源。团队通过架构优化,改由Flink统一写入Paimon,彻底解决问题。文章系统梳理了排查思路与工具使用,为类似技术栈提供宝贵经验。

热门文章

最新文章