Spring boot @RequestBody数据传递过程详解
作者:慕尘 时间:2022-09-14 12:23:37
这篇文章主要介绍了Spring boot @RequestBody数据传递过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
@RequestBody需要接的参数是一个string化的json
@RequestBody,要读取的数据在请求体里,所以要发post请求,还要将Content-Type设置为application/json
java的api
参数为JSONObject,获取到的参数处理
@PostMapping("/combine")
public Result combine(@RequestBody JSONObject jsonParam) {
System.out.println(jsonParam.toJSONString());
System.out.println(jsonParam.get("fileName"));
ArrayList ll= (ArrayList)jsonParam.get("ops");
for(int i = 0;i < ll.size(); i ++){
ArrayList mm = (ArrayList)ll.get(i);
for(int j = 0;j < mm.size(); j ++){
System.out.println(mm.get(j));
}
}
return ResultGenerator.genSuccessResult();
}
(1)js调用
var dispatchesDTO = {"fileName":"E:/java/project/ppt/data/tmpTest.pptx","ops":[["E:/java/project/ppt/data/test1.pptx","1,2,9"],["E:/java/project/ppt/data/Threejs动画.pptx","1"],["E:/java/project/ppt/data/系统时间和实时天气.pptx","1"]]};
$.ajax({
type: "post",
contentType:"application/json",
url: "http://localhost:8080/api/ppt/combine",
data: JSON.stringify(dispatchesDTO),
success: function(data){
console.log(data);
}
});
(2)php的curl调用
<?php
//初始化
$curl = curl_init();
//设置抓取的url
curl_setopt($curl, CURLOPT_URL, 'http://localhost:8080/api/ppt/combine');
$aa = [
"fileName" => "E:/java/project/ppt/data/tmp.pptx",
"ops" => [['E:/java/project/ppt/data/test1.pptx', '1,2,9'],
['E:/java/project/ppt/data/test1.pptx', '2'],
],
];
$data_string = json_encode($aa);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($curl, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($data_string),
));
//执行命令
$data = curl_exec($curl);
//关闭URL请求
curl_close($curl);
//显示获得的数据
print_r($data);
(3)postman调用
参数
{"fileName":"E:/java/project/ppt/data/tmpTest.pptx","ops":[["E:/java/project/ppt/data/test1.pptx","1,2,9"],["E:/java/project/ppt/data/Threejs动画.pptx","1"]]}
来源:https://www.cnblogs.com/baby123/p/10831377.html
标签:spring,boot,request,body,数据,传递
0
投稿
猜你喜欢
Java8之lambda最佳实践_动力节点Java学院整理
2023-11-28 00:07:28
spring boot整合log4j2及MQ消费处理系统日志示例
2023-06-17 17:47:54
详解MyBatis配置typeAliases的方法
2023-11-29 06:21:52
搞懂Java线程池
2021-08-04 10:01:06
springboot集成mybatisPlus+多数据源的实现示例
2023-11-24 22:35:02
对Java中传值调用的理解分析
2023-05-03 15:22:14
SSH框架网上商城项目第10战之搭建商品类基本模块
2023-11-12 14:00:29
JavaWeb 中Cookie实现记住密码的功能示例
2023-04-06 05:06:48
java为何不能多继承的原因详解
2023-10-12 04:45:00
解析Java的设计模式编程之解释器模式的运用
2022-01-04 04:02:18
【Java IO流】字节流和字符流的实例讲解
2023-08-08 20:45:58
java集合继承关系图分享
2023-04-25 17:17:23
SpringBoot参数校验与国际化使用教程
2021-11-13 15:52:21
java多线程-读写锁原理
2021-07-20 17:28:52
Unity Shader实现黑幕过场效果
2022-01-13 00:18:10
IntelliJ IDEAx导出安卓(Android)apk文件图文教程
2022-06-22 18:26:16
Struts2实现文件上传功能实例解析
2023-11-04 04:56:13
Java中synchronized的优化措施
2022-10-09 18:19:05
SpringBoot配置全局异常处理器捕获异常详解
2023-11-28 05:08:07
SpringBoot深入了解日志的使用
2023-01-06 15:40:34