Spring boot @RequestBody数据传递过程详解
2020-03-11 17:52
148 查看
这篇文章主要介绍了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"]]}
以上就是本文的全部内容,希望对大家的学习有所帮助
您可能感兴趣的文章:
- Spring MVC打印@RequestBody、@Response日志的方法
- 快速解决SpringMVC @RequestBody 用map接收请求参数的问题
- spring cloud feign不支持@RequestBody+ RequestMethod.GET报错的解决方法
- Spring MVC参数校验详解(关于`@RequestBody`返回`400`)
- springMvc注解之@ResponseBody和@RequestBody详解
- springmvc实现json交互-requestBody和responseBody
- 详解SpringMVC @RequestBody接收Json对象字符串
- SpringMVC restful 注解之@RequestBody进行json与object转换
相关文章推荐
- SpringBoot@RequestBody无法获取页面传递的参数,属性名命名规范问题
- spring之@ModelAttribute,@RequestBody, @ResponseBody 参数传递的运用详解
- springboot 使用poi进行数据的导出过程详解
- HTTP Status 415 Unsupported Media Type [Spring MVC @RequestBody传递Json数据 ]
- spring之@ModelAttribute,@RequestBody, @ResponseBody 参数传递的运用详解
- SpringBoot传递单一参数时@RequestParam和@RequestBody的区别
- SpringBoot @RequestBody 注解的List参数传递
- spring的@RequestBody 注解与前端数据传递
- spring之@ModelAttribute,@RequestBody, @ResponseBody 参数传递的运用详解
- SpringBoot项目部署到阿里云服务器部署过程(图文详解)
- SpringBoot开发详解(十) -- 使用JPA访问数据库下篇及使用Page进行数据分页
- 【SpringBoot】使用@ResponseBody注解解析数据库数据返回Json格式数据
- Spring Boot如何使用JDBC获取相关的数据详解
- Spring @RequestParam @RequestBody @PathVariable 等参数绑定注解详解
- Springboot @RequestBody + Retrofit @Body 之实体类字段含有日期Date类型的提交方式
- 在Docker中部署Spring Boot项目过程详解
- spring boot的@RequestParam和@RequestBody的区别
- 使用Postman传递JSON格式数据到后台并用@RequestBody注解接收
- spring boot 通过过滤器修改request中的body参数
- SpringMVC requestBody responseBody 详解