Spring boot @RequestBody数据传递过程详解
这篇文章主要介绍了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"]]}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
IntelliJ IDEA下自动生成Hibernate映射文件以及实体类
这篇文章主要介绍了IntelliJ IDEA下自动生成Hibernate映射文件以及实体类,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2019-11-11Java项目在Idea中开发遇到所有代码爆红的问题与解决办法
今天打开项目时发现idea竟然爆红,通过查找相关资料用于解决,下面这篇文章主要给大家介绍了关于Java项目在Idea中开发遇到所有代码爆红的问题与解决办法的相关资料,需要的朋友可以参考下2023-06-06Java详细分析Lambda表达式与Stream流的使用方法
Lambda表达式,基于Lambda所带来的函数式编程,又引入了一个全新的Stream概念,用于解决集合类库既有的弊端,Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。使用 Lambda 表达式可以使代码变的更加简洁紧凑2022-04-04java集合之CopyOnWriteArrayList源码解析
这篇文章主要介绍了java集合之CopyOnWriteArrayList源码解析,容器array是volatile修饰的,即set和get方法都是线程安全的,整个添加过程上了锁,所以整体是通过volatile和lock来保证的线程安全,需要的朋友可以参考下2023-12-12
最新评论