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"]]}

Spring boot @RequestBody数据传递过程详解

来源: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
  • asp之家 软件编程 m.aspxhome.com