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


猜你喜欢
- 本文实例讲述了Android开发中计算器的sin、cos及tan值计算问题。分享给大家供大家参考,具体如下:接到一个需求 :要求计算器sin
- Oracle 数据库,查询增加RowBounds限制查询条数,默认是0到1000条private final static int rowL
- 前言Graalvm通过静态分析提前编译来为Java应用程序构建高度优化的本机可执行文件,这就需要在编译时就知道所有的程序类型,而java中的
- 本文实例讲述了C#使用foreach循环遍历数组的方法。分享给大家供大家参考,具体如下:using System;using System.
- 目录1. 什么是XSS攻击?2. 如何防范?2.1 什么时候注入请求参数3. 具体处理细节1. 什么是XSS攻击? &
- 1|0构造socket在【客户端/服务端】的通信模式中,客户端需要主动构造与服务器连接的 Socket,构造方法有以下几种重载形式:Sock
- OkHttp流程图OkHttp基本使用gradle依赖implementation 'com.squareup.okhttp3:ok
- 常量是固定值,程序执行期间不会改变。常量可以是任何基本数据类型,比如整数常量、浮点常量、字符常量或者字符串常量,还有枚举常量。常量可以被当作
- 最近在做Android 的MP3播放的项目,要实现歌词的自动滚动,以及同步显示。lyric的歌词解析主要用yoyoplayer里面的,显示部
- 本文实例讲述了C#读写文本文件的方法。分享给大家供大家参考。具体分析如下:System.IO命名空间中的类为托管应用程序提供文件以及其他形式
- 如何给请求添加header背景:在集成了swagger的项目中,调用后台接口往往会经过一些自定义的 * ,而 * 加了token限制的话,直
- Result可以设定全局结果集,如:<struts> <constant name="struts
- 拆分实现流程请看下面这张图首先我们得对线程池进行一个功能拆分Thread Pool 就是我们的线程池,t1,t2,t3代表三个线程Block
- 一、 springBoot + Mybatis配置完成后,访问数据库遇到的问题首先出现这个问题,肯定是xml文件与mapper接口没有匹配上
- 前言poi的解析方式是dom解析,把结果一次都读入内存操作,这样的操作平时是不会有问题的,但是并发量上来的时候就会出现OOM,EasyExc
- static关键字static关键词与对象无关。static关键字主要修饰四个部分的内容这里我们主要介绍static修饰属性和修饰方法。1.
- 前段时间由于VSS上的一个项目要给2个公司开发使用,而2个公司的需求不同 就把该项目复制到VSS上的另外一个目录,结果在别人的电脑取出并打开
- 目录引入依赖Java中使用GraphQL的API无参数简单查询带参数简单查询GraphQL可以通过Java的API来实现数据的查询,通过特定
- 本文实例为大家分享了使用C#写出一个简单的记事本程序,供大家参考,具体内容如下编程语言: C# 编程环境: Visual Studio 20
- C# 的析构以及垃圾回收实例分析看书时,自己写的例子代码,了解到几个知识点,记载下来。同时发现自己手写代码的能力比较弱,还是得多写一下。us