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

 更新时间:2019年12月03日 09:51:10   作者:慕尘  
这篇文章主要介绍了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映射文件以及实体类

    这篇文章主要介绍了IntelliJ IDEA下自动生成Hibernate映射文件以及实体类,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • 如何通过Java添加水印到Word文档

    如何通过Java添加水印到Word文档

    这篇文章主要介绍了如何通过Java添加水印到Word文档,水印是一种常用于各种文档的声明、防伪手段,一般可设置文字水印或者加载图片作为水印。以下内容将分享通过Java编程给Word文档添加水印效果的方法,需要的朋友可以参考下
    2019-07-07
  • 关于JAVA中this的使用方法小结

    关于JAVA中this的使用方法小结

    现在让大家看一个小例子,给你分享一下JAVA中“this”的用法,有需要的朋友可以参考一下
    2013-10-10
  • Java项目在Idea中开发遇到所有代码爆红的问题与解决办法

    Java项目在Idea中开发遇到所有代码爆红的问题与解决办法

    今天打开项目时发现idea竟然爆红,通过查找相关资料用于解决,下面这篇文章主要给大家介绍了关于Java项目在Idea中开发遇到所有代码爆红的问题与解决办法的相关资料,需要的朋友可以参考下
    2023-06-06
  • Java详细分析Lambda表达式与Stream流的使用方法

    Java详细分析Lambda表达式与Stream流的使用方法

    Lambda表达式,基于Lambda所带来的函数式编程,又引入了一个全新的Stream概念,用于解决集合类库既有的弊端,Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。使用 Lambda 表达式可以使代码变的更加简洁紧凑
    2022-04-04
  • 基于java线程安全问题及原理性分析

    基于java线程安全问题及原理性分析

    下面小编就为大家带来一篇基于java线程安全问题及原理性分析。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • Springboot实现通用Auth认证的几种方式

    Springboot实现通用Auth认证的几种方式

    本文主要介绍了Springboot实现通用Auth认证的几种方式,主要介绍了4种方式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • Java毕业设计实战项目之在线服装销售商城系统的实现流程

    Java毕业设计实战项目之在线服装销售商城系统的实现流程

    基础掌握怎么样,用实战检验就知道了,本篇文章手把手带你用java+SpringBoot+Maven+Vue+mysql实现一个在线服装销售商城系统,大家可以在过程中查缺补漏,提升水平
    2022-01-01
  • Java实现对字符串中的数值进行排序操作示例

    Java实现对字符串中的数值进行排序操作示例

    这篇文章主要介绍了Java实现对字符串中的数值进行排序操作,涉及java字符串与数组的相互转换以及数组排序相关操作技巧,需要的朋友可以参考下
    2018-05-05
  • java集合之CopyOnWriteArrayList源码解析

    java集合之CopyOnWriteArrayList源码解析

    这篇文章主要介绍了java集合之CopyOnWriteArrayList源码解析,容器array是volatile修饰的,即set和get方法都是线程安全的,整个添加过程上了锁,所以整体是通过volatile和lock来保证的线程安全,需要的朋友可以参考下
    2023-12-12

最新评论