SpringBoot如何接收Post请求Body里面的参数
作者:赛尔号- 发布时间:2023-07-30 13:43:35
标签:SpringBoot,Post请求,Body,参数
如何接收Post请求Body里的参数
ApiPost测试数据
{
"list": [
"{'time':'xxxxx','distinct_id':'xxxx','appId':'xxxx'}",
"{'time':'xxxxx','distinct_id':'xxxx','appId':'xxxx'}",
"{'time':'xxxxx','distinct_id':'xxxx','appId':'xxxx'}",
"{'time':'xxxxx','distinct_id':'xxxx','appId':'xxxx'}"
],
"type": 1
}
Java接收数据
需要提前创建好对应的Bean
由于传递过来的数据是String类型,因此需要转换一步
import cn.hutool.json.JSONObject;
@PostMapping("/data/callback")
public Object testResponse(
@RequestBody JSONObject jsonObject
) {
JSONArray jsonList = jsonObject.getJSONArray("list");
ArrayList<DataEntity> list = new ArrayList<>();
for (Object jsObject : jsonList){
DataEntity dataEntity = JSONObject.parseObject(jsObject.toString(), DataEntity.class);
list.add(dataEntity);
}
Integer type = (Integer) jsonObject.get("type");
log.info(String.format("本次共接收%d条数据,type=%d",list.size(),type));
for (DataEntity dataEntity : list) {
log.info(dataEntity.toString());
}
}
SpringBoot获取参数常用方式
参数在body体中
在方法形参列表中添加@RequestBody注解
@RequestBody 作用是将请求体中的Json字符串自动接收并且封装为实体。如下:
@PostMapping("/queryCityEntityById")
public Object queryCityEntityById(@RequestBody CityEntity cityEntity)
{
return ResultUtil.returnSuccess(cityService.queryCityById(cityEntity.getId()));
}
PathVaribale获取url路径的数据
如下:
@RestController
public class HelloController {
@RequestMapping(value="/hello/{id}/{name}",method= RequestMethod.GET)
public String sayHello(@PathVariable("id") Integer id,@PathVariable("name") String name){
return "id:"+id+" name:"+name;
}
}
RequestParam获取请求参数的值
获取url参数值,默认方式,需要方法参数名称和url参数保持一致
localhost:8080/hello?id=1000,如下:
@RestController
public class HelloController {
@RequestMapping(value="/hello",method= RequestMethod.GET)
public String sayHello(@RequestParam Integer id){
return "id:"+id;
}
}
来源:https://blog.csdn.net/qq_36811160/article/details/111362637
0
投稿
猜你喜欢
- 目录实现效果实现方式实现步骤Blend绘制Path绘制Path绘制直线绘制曲线改变曲线形状移除Path上的线段移除Path上的点Path添加
- 本文实例讲述了Java编程实现中英混合字符串数组按首字母排序的方法。分享给大家供大家参考,具体如下:在Java中对于字符串数组的排序,我们可
- 前言dataGridView是常用的表格控件,实现分页的方式也有很多种,例如直接使用sql语言,配合存储方式,直接读取某一页的内容,大家如果
- 详解java中接口与抽象类的区别1.abstract class 在 Java 语言中表示的是一种继承关系,一个类只能使用一次继承关系。但是
- 就我们所知道的,java中有子类和父类,子类由于继承父类而形成,那么父类还有没有父类呢?答案是有了,父类的父类就是object类,一切父类都
- 设计模式要进行共性与可变性的分析,对共性进行抽象,同时对可变性进行封装,没有完美的设计模式,作为一名开发者要懂得取舍,触类旁通,开发出高内聚
- ElGamal数字签名,供大家参考,具体内容如下一、实验目的学习ElGamal算法在数字签名方面的使用,掌握教科书版本的ElGamal数字签
- 作为代码质量检查的流行工具,比如Sonarqube能够检查代码的“ * ”,跟代码结合起来能够更好地提高代码的质量,这篇文章将会介绍如何结合
- 本文实例为大家分享了Java分页展示的具体代码,供大家参考,具体内容如下先上图吧,大致如图,也就提供个思路(ps:使用了SSH框架) 前台J
- maven运行依赖于 JAVA_HOME如果各位还没有配置 JAVA_HOME,可以参考我的另一篇博客 JDK环境变量配置 JDK 环境变量
- 本文实例为大家分享了java模拟进度计量器的具体代码,供大家参考,具体内容如下一、程序说明1、自定义模拟血压计外观图class M
- 一、MyBatis Plus 介绍MyBatis Plus 是国内人员开发的 MyBatis 增强工具,在 MyBatis 的基础上只做增强
- Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法,将Netflix的中间层服务连接在一起。Ribbon客户
- 本文主要介绍了java(包括springboot)读取resources下文件方式实现,分享给大家,具体如下:1、使用项目内路径读取,该路径
- 在C#中,@符号不仅可以加在字符串常量之前,使字符串不作转义之用,还可以加在变量名之前,使变量名与关键字不冲突,这种用法称为“逐字标识符”。
- 功能介绍功能:群聊+私发+上线提醒+下线提醒+查询在线用户文件Utils需要用maven导入下面两个包 <dependency>
- 这篇文章主要介绍了如何基于Java实现对象List排序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋
- Java 实现网络爬虫框架最近在做一个搜索相关的项目,需要爬取网络上的一些链接存储到索引库中,虽然有很多开源的强大的爬虫框架,但本着学习的态
- 1. 前言今天开始我们来一步步窥探它是如何工作的。我们又该如何驾驭它。本篇将通过 Spring Boot 2.x 来讲解 Spring Se
- 1.MyBatis简介MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的