不定参数入参

简介: 本文介绍了Spring Boot中接口参数的处理方式,包括非JSON格式(如@RequestBody、@RequestParam)和JSON格式入参(如JSONObject、封装对象)的使用示例,并展示了如何通过@Valid进行参数校验,提升接口健壮性与可维护性。

1.非JSON格式入参

@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  单个或多个独立参数

@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  封装参数

@PostMapping(value = "/init", produces = MediaType.APPLICATION_JSON_VALUE)

public ResultDTO initConfig(@Valid @RequestBody RequestParam param) {

   return initService.initConfig(param);

}

@Data

public class RequestParam {


   private long id;


   @NotBlank(message = "姓名不能为空")

   private String name;


   @NotBlank(message = "年龄不能为空")

   private String age;


}

相关文章
|
自然语言处理 Kubernetes 机器人
基于OpenIM 实现聊天机器人功能
基于OpenIM 实现聊天机器人功能
930 0
|
存储 SQL NoSQL
当流计算邂逅数据湖:Paimon 的前生今世
当流计算邂逅数据湖:Paimon 的前生今世
938 0
|
8月前
|
消息中间件 Java 数据安全/隐私保护
RabbitMQ集群部署
本文介绍RabbitMQ集群部署,包括普通模式与高可用方案。首先通过Docker搭建三节点集群,配置Erlang Cookie和rabbitmq.conf实现节点通信;接着演示队列创建、数据共享及宕机测试,发现普通模式无高可用能力;进而引入镜像模式,通过策略设置实现队列多副本,支持主从切换;最后重点介绍3.8版本后推荐的仲裁队列,其具备自动选举、强一致性等优势,配置更简便,是实现高可用的首选方案。
RabbitMQ集群部署
|
8月前
|
安全 Java 数据安全/隐私保护
通用权限管理模型
本文介绍了ACL和RBAC两大权限模型。ACL通过直接授权用户或角色访问对象,实现简单但管理复杂;RBAC则基于角色分配权限,通过用户-角色-权限三层结构提升管理效率,并衍生出支持角色继承(RBAC1)、职责分离(RBAC2)及两者结合的RBAC3模型,适用于复杂系统权限控制。
|
缓存 网络协议 Unix
程序员超实用的文件系统性能评测工具盘点
程序员超实用的文件系统性能评测工具盘点
|
数据采集 机器学习/深度学习 存储
基于多项式朴素贝叶斯的中文垃圾邮件识别
基于多项式朴素贝叶斯的中文垃圾邮件识别
|
Web App开发 前端开发 JavaScript
WebKit 入门介绍
WebKit 入门介绍
|
小程序 Java 关系型数据库
基于Java微信小程序宠物店商城系统设计和实现(源码+LW+调试文档+讲解等)
基于Java微信小程序宠物店商城系统设计和实现(源码+LW+调试文档+讲解等)
|
存储 缓存 前端开发
性能优化:通用快照方案
性能优化对于提供卓越的用户体验至关重要,钉钉终端团队特别关注用户体验。我们团队采用了一系列创新的性能优化措施,显著提升了首次有意义绘制(FMP)和首次内容绘制(FCP)的性能指标。其中,利用快照方案,结合用户的本地存储能力,我们能够进一步提高页面性能。快照方案是在完成常规手段前端优化(如优化首屏加载体积、实施懒加载、渲染优化和缓存提升等)和资源离线处理之后的又一重要步骤,旨在更迅速地向用户展示页面内容。
558 1
WPF/C#:程序关闭的三种模式
WPF/C#:程序关闭的三种模式
473 0

热门文章

最新文章