Spring Boot中接收各种各样的参数

news2024/9/21 5:37:13

一、接收json参数,封装为Map

1.1、核心代码

/**
 * 接收json参数,封装为Map
 * @param servletRequest
 * @return
 * @throws Exception
 */
@PostMapping("/getParam")
public R getParam(HttpServletRequest servletRequest) throws Exception {
	Map<String,Object> result = new ObjectMapper().readValue(servletRequest.getInputStream(), Map.class);
	log.info("MapController getParam result:{}", JSON.toJSONString(result));

	return R.ok().data(result);
}

1.2、Postman中传参

1.3、响应结果

1.4、后台日志记录

二、GET请求

2.1、接收GET请求方式的传参:第一种方式

2.1.1、核心代码

/**
 * 接收GET请求方式的传参:第一种方式
 *
 * @param username 用户名
 * @param password 密码
 * @return
 */
@GetMapping("/getParam1/{username}/{password}")
public R getParam1(@PathVariable String username, @PathVariable String password) {
	log.info("GETController getParam1 param username:{},password:{}", username, password);
	User8043VO user8043VO = new User8043VO(username, password);

	return R.ok().data(user8043VO);
}

2.1.2、Postman中传参 & 响应结果

2.2、接收GET请求方式的传参:第二种方式

2.2.1、核心代码

/**
 * 接收GET请求方式的传参:第二种方式
 *
 * @param username 用户名
 * @param password 密码
 * @return
 */
@GetMapping("/getParam2")
public R getParam2(@RequestParam("username") String username,
				   @RequestParam("password") String password) {
	log.info("GETController getParam2 param username:{},password:{}", username, password);
	User8043VO user8043VO = new User8043VO(username, password);

	return R.ok().data(user8043VO);
}

2.2.2、Postman中传参 & 响应结果

2.3、接收GET请求方式的传参:第三种方式

2.3.1、核心代码

/**
 * 接收GET请求方式的传参:第三种方式
 *
 * @param id 编号
 * @param username 用户名
 * @param password 密码
 * @return
 */
@GetMapping("/getParam3/{id}")
public R getParam3(@PathVariable Long id,
				   @RequestParam("username") String username,
				   @RequestParam("password") String password) {
	log.info("GETController getParam3 param id:{},username:{},password:{}", id, username, password);
	User8043VO user8043VO = new User8043VO(id, username, password);

	return R.ok().data(user8043VO);
}

2.3.2、Postman中传参 & 响应结果

2.4、接收GET请求方式的传参:第四种方式

2.4.1、核心代码

/**
 * 接收GET请求方式的传参:第四种方式
 * @param request
 * @return
 */
@GetMapping("/getParam4")
public R getParam4(HttpServletRequest request) {
	String id = request.getParameter("id");
	String username = request.getParameter("username");
	String password = request.getParameter("password");
	log.info("GETController getParam4 param id:{},username:{},password:{}", id, username, password);

	User8043VO user8043VO = new User8043VO(Long.parseLong(id), username, password);

	return R.ok().data(user8043VO);
}

2.4.2、Postman中传参 & 响应结果

三、POST请求 

3.1、接收POST请求方式的传参:第一种方式

3.1.1、核心代码

/**
 * 接收POST请求方式的传参:第一种方式
 *
 * @param username 用户名
 * @param password 密码
 * @return
 */
@PostMapping("/postParam1/{username}/{password}")
public R postParam1(@PathVariable String username, @PathVariable String password) {
	log.info("POSTController postParam1 param username:{},password:{}", username, password);
	User8043VO user8043VO = new User8043VO(username, password);

	return R.ok().data(user8043VO);
}

3.1.2、Postman中传参 & 响应结果

3.2、接收POST请求方式的传参:第二种方式

3.2.1、核心代码

/**
 * 接收POST请求方式的传参:第二种方式
 *
 * @param username 用户名
 * @param password 密码
 * @return
 */
@PostMapping("/postParam2")
public R postParam2(@RequestParam("username") String username,
					@RequestParam("password") String password) {
	log.info("POSTController postParam2 param username:{},password:{}", username, password);
	User8043VO user8043VO = new User8043VO(username, password);

	return R.ok().data(user8043VO);
}

3.2.2、Postman中传参 & 响应结果

3.3、接收POST请求方式的传参:第三种方式

3.3.1、核心代码

/**
 * 接收POST请求方式的传参:第三种方式
 *
 * @param id 编号
 * @param username 用户名
 * @param password 密码
 * @return
 */
@PostMapping("/postParam3/{id}")
public R postParam3(@PathVariable Long id,
					@RequestParam("username") String username,
					@RequestParam("password") String password) {
	log.info("POSTController postParam3 param id:{}, username:{},password:{}", id, username, password);
	User8043VO user8043VO = new User8043VO(id, username, password);

	return R.ok().data(user8043VO);
}

3.3.2、Postman中传参 & 响应结果

3.4、接收POST请求方式的传参:第四种方式

3.4.1、核心代码

/**
 * 接收POST请求方式的传参:第四种方式
 *
 * @param request
 * @return
 */
@PostMapping("/postParam4")
public R postParam4(HttpServletRequest request) {
	String id = request.getParameter("id");
	String username = request.getParameter("username");
	String password = request.getParameter("password");

	log.info("POSTController postParam4 param id:{}, username:{},password:{}", id, username, password);

	User8043VO user8043VO = new User8043VO(Long.parseLong(id), username, password);

	return R.ok().data(user8043VO);
}

3.4.2、Postman中传参 & 响应结果

3.5、接收POST请求方式的传参:第五种方式

3.5.1、核心代码

/**
 * 接收POST请求方式的传参:第五种方式
 *
 * @param param
 * @return
 */
@PostMapping("/postParam5")
public R postParam5(@RequestBody User8043VO param) {
	log.info("POSTController postParam5 param:{}", JSON.toJSONString(param));

	return R.ok().data(param);
}

3.5.2、Postman中传参 & 响应结果

3.6、接收POST请求方式的传参:第六种方式

3.6.1、核心代码

/**
 * 接收POST请求方式的传参:第六种方式
 *
 * @param param
 * @return
 */
@PostMapping("/postParam6")
public R postParam6(User8043VO param) {
	log.info("POSTController postParam6 param:{}", param);

	return R.ok().data(param);
}

3.6.2、Postman中传参 & 响应结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1612680.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MyCat 分片

一、垂直拆分 1、场景概述&#xff1a; 在业务系统中&#xff0c;由于用户与订单每天都会产生大量的数据&#xff0c;单台服务器的数据存储及处理能力是有限的&#xff0c;可以对数据库表进行进行垂直分库操作。将商品相关的表拆分到一个数据库服务器&#xff0c;订单表拆分到…

Spring(下)

接上篇&#xff0c;从第八个问题讲起 八.Spring工厂创建复杂对象 1.什么是复杂对象 简单对象就是可以直接new出来的&#xff0c;也就是直接调用构造方法创建 所以复杂对象就是不能直接通过调用构造方法创建。就比如JDBC中的Connection 2.三种方法 &#xff08;1&#xff…

【LeetCode刷题记录】206. 反转链表

206 反转链表 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5] 输出&#xff1a;[5,4,3,2,1] 示例 2&#xff1a; 输入&#xff1a;head [1,2] 输出&#xff1a;[2,1] 示例…

毕业设计——基于ESP32的智能家居系统(语音识别、APP控制)

ESP32嵌入式单片机实战项目 一、功能演示二、项目介绍1、功能演示2、外设介绍 三、资料获取 一、功能演示 多种控制方式 ① 语音控制 ②APP控制 ③本地按键控制 ESP32嵌入式单片机实战项目演示 二、项目介绍 1、功能演示 这一个基于esp32c3的智能家居控制系统&#xff0c;能实…

MyCat 数据库中间件

一、介绍 1、单数据库进行数据存储的问题&#xff1a; IO瓶颈&#xff1a;热点数据太多&#xff0c;数据库缓存不足以容纳这些热点数据&#xff0c;产生大量磁盘IO&#xff0c;效率较低。 CPU瓶颈&#xff1a;排序、分组、连接查询、聚合统计等SQL会耗费大量的CPU资源。 2、…

Rest接口/Nginx日志记录和采集

文章目录 一、Rest接口日志二、Nginx日志三、采集日志四、夜莺查看Nginx日志五、夜莺查看Rest接口日志 一、Rest接口日志 记录日志字典定义 接口URL接口名称,类别,入参全记录,出参全记录,入参字段1:中文名1/入参字段2:中文名2,出参字段1:中文名1/test/api/login账户登录,登录…

【C++】开始使用优先队列

送给大家一句话: 这世上本来就没有童话&#xff0c;微小的获得都需要付出莫大的努力。 – 简蔓 《巧克力色微凉青春》 开始使用优先队列 1 前言2 优先队列2.1 什么是优先队列2.2 使用手册2.3 仿函数 3 优先队列的实现3.1 基本框架3.2 插入操作3.3 删除操作3.4 其他函数 4 总结T…

kubernetes的网络通信实现原理

网络原理 Kubernetes网络原理详解&#xff1a;一、Kubernetes 网络实现1.容器到容器&#xff08;同一Pod内&#xff09;通信流程&#xff1a;2. pod之间的通信&#xff08;以Calico为例&#xff09;&#xff1a; 二、CNI 网络模型三、网络策略四、开源的容器网络方案五、 常见网…

Linux管道共享内存

前言 进程虽然是独立运行的个体&#xff0c;但它们之间有时候需要协作才能完成一项工作&#xff0c;比如有两个进程需要同步数据&#xff0c;进程 A 把数据准备好后&#xff0c;想把数据发往进程 B&#xff0c;进程 B 必须被提前通知有数据即将到来&#xff0c;或者进程 A 想发…

Spark集群的搭建

1.1搭建Spark集群 Spark集群环境可分为单机版环境、单机伪分布式环境和完全分布式环境。本节任务是学习如何搭建不同模式的Spark集群&#xff0c;并查看Spark的服务监控。读者可从官网下载Spark安装包&#xff0c;本文使用的是spark-2.0.0-bin-hadoop2.7.gz。 1.1.1搭建单机版…

《乱弹篇(30)厌战的杜诗》

时下地球村有一伙成天叫嚣着“打打杀杀”、鼓吹快快发动战争的狂人&#xff0c;他们视老百姓的生命如草芥&#xff0c;毫不珍惜。没有遭受过战火焚烧的人&#xff0c;也跟着成天吠叫“快开战吧”。然而中国唐朝大诗人却是个“厌战派”&#xff0c;他对战争的厌恶集中表现在诗《…

实在RPA设计器试用导引

一、产品概述 实在RPA设计器是一款将人工智能(AI)与机器人流程自动化(RPA)深度融合的可视化自动流程编辑器。它通过AI推荐与桌面嵌入式交互&#xff0c;极大简化了RPA的使用难度&#xff0c;让普通业务人员也能轻松使用。实在RPA设计器具备以下核心优势&#xff1a; 兼容性&a…

我与C++的爱恋:类和对象(四)

​ ​ &#x1f525;个人主页&#xff1a;guoguoqiang. &#x1f525;专栏&#xff1a;我与C的爱恋 ​ 朋友们大家好&#xff01;本篇是类和对象的最后一个部分。 一、static成员 声明为static的类成员称为类的静态成员&#xff0c;用static修饰的成员变量&#xff0c;称之…

系统架构最佳实践 -- 相关JAVA架构

1. java 类加载器架构 2. JVM 架构 3. Java 技术体系 4. 线程运行架构 5. Java 体系&#xff08;编译与运行&#xff09;结构 6. JMS 技术架构 7. JMX 技术架构 8. Spring 架构 9. Hibernate 架构 10. ibatis 架构 11. Struts2 架构 12. Struts1 架构 13. JBPM 14. EJB 技术架构…

Java面试八股之marshalling和demarshalling

marshalling和demarshalling Marshalling&#xff08;序列化&#xff09;是将内存中的对象状态转化为适合传输或存储的格式&#xff08;如字节流、JSON、XML&#xff09;&#xff0c;以便进行网络通信、持久化存储或跨平台/语言交互操作。Demarshalling&#xff08;反序列化&a…

渗透测试入门教程,从零基础入门到精通(非常详细)

目录 什么是渗透测试 渗透测试的重要性 渗透测试的前置技能 开始入门学习路线 什么是渗透测试 渗透测试&#xff0c;通常被视为模拟黑客的一种安全评估行为&#xff0c;其目的在于全面挖掘目标网站或主机的潜在安全漏洞。与真实的黑客攻击不同&#xff0c;渗透测试旨在发现…

9.MMD 基础内容总结及制作成品流程

前期准备 1. 导入场景和模型 在左上角菜单栏&#xff0c;显示里将编辑模型时保持相机和光照勾选上&#xff0c;有助于后期调色 将抗锯齿和各向异性过滤勾掉&#xff0c;可以节省资源&#xff0c;避免bug 在分辨率设定窗口&#xff0c;可以调整分辨率 3840x2160 4k分辨率 1…

05 MySQL--字段约束、事务、视图

1. CONSTRAINT 约束 创建表时&#xff0c;可以给表的字段添加约束&#xff0c;可以保证数据的完整性、有效性。比如大家上网注册用户时常见的&#xff1a;用户名不能为空。对不起&#xff0c;用户名已存在。等提示信息。 约束包括&#xff1a; 非空约束&#xff1a;not null检…

kafka实验部署

一、前期准备 二、kafka实验 在zookeeper后继续进行操作 2.1 为ndoe1、node2、node3作出部署 2.1.1 解压kafka压缩包&#xff08;node1举例&#xff09; 2.1.2 操作 将解压后的kafka移动到kafka&#xff0c;进入到kafka下的config中&#xff0c;复制文件 2.1.2.1 编辑server.pr…

LWIP开发之静态IP为什么接收和发送不了数据

使用的硬件开发板是探索者F4 V3版本 这里用的LWIP的lwIP例程7 lwIP_NETCONN_UDP实验 问了开发板的官方和其他人都说不清楚&#xff1b;搞了两天&#xff0c;浪费了两天时间&#xff1b; 最奇葩的问题还在于只能单片机发送&#xff0c;上位机能接收。而上位机发送单片机不能接…