Postman传递@requestbody标注的List集合的传参遇到的问题

这篇具有很好参考价值的文章主要介绍了Postman传递@requestbody标注的List集合的传参遇到的问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

引子

我们想测试如下接口

@RequestMapping(value ="saveMessageRecover", method = RequestMethod.POST)
@ResponseBody
public AjaxMessage saveMessageRecover(@RequestBody List<Device> deviceList,
                                      @RequestParam("eventId") Long eventId,
                                      @RequestParam("tagValue") String tagValue) {
    System.out.println(deviceList.toString());
    return emergencyDeviceRecoverService.saveMessageRecover(deviceList, eventId, tagValue);

}

如何测试以及遇到的问题

@RequestMapping(value ="saveMessageRecover", method = RequestMethod.POST)
@ResponseBody
public AjaxMessage save(@RequestBody List<Device> deviceList,
                                      @RequestParam("eventId") Long eventId,
                                      @RequestParam("tagValue") String tagValue) {
    return emergencyDeviceRecoverService.saveMessageRecover(list, eventId, tagValue);

}

postman发送集合数据,Java8特性,postman,list,java

这里对应了三个传入参数,因为deviceList是必须的,Device作为我们自己封装的JavaBean,我们想要直接传参的话,前端传递一个List过来,这个是被@Requestbody修饰的,同时还存在两个由@RequestParam修饰的包装类,因此,

@RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的);而最常用的使用请求体传参的无疑是POST请求了,所以使用@RequestBody接收数据时,一般都用POST方式进行提交。在后端的同一个接收方法里,@RequestBody与@RequestParam()可以同时使用,@RequestBody最多只能有一个,而@RequestParam()可以有多个。

  1. 为什么要使用@RequestBody,直接传不行吗?

    当前端传来的是一个完整对象的时候,而且是以 json格式传输,只有加上注解@RequestBody,Spring 才会自动将 JSON 类型数据与我们的类进行匹配

  2. 返回给前端的是否为JSON类型?

使用@RestController注解或者@Controller+@Responbody注解

  1. postman如何传入list类型的参数?

postman发送集合数据,Java8特性,postman,list,java

我们遇到的问题?

  • 一开始总是使用大括号包围这个Bean,实际上传入一个list不需要如此。
  • 不确定如何传入一个@RequestBody和多个@RequestParam时,如何使用postman测试

如果想直接传一个list的对象集合,则不需要大括号;

如果是

public JSONObject updateProductStatus(@RequestParam(value = "ids",required = false) List<Integer> ids){

postman发送集合数据,Java8特性,postman,list,java
postman发送集合数据,Java8特性,postman,list,java
postman发送集合数据,Java8特性,postman,list,java

参考文献

  • postman入门学习
    链接: postman入门学习

  • SpringMVC参数绑定学习总结【前后端数据参数传递】
    链接: SpringMVC

  • @RequestBody的使用
    链接: RequestBody

  • @RequestBody和@RequestParam区别全面详细
    链接: RequestParam

  • Postman测试接口传入List类型的参数以及数组类型参数
    链接: Postman

  • 前后端交互--------后端传JSON给前端
    链接: JSON文章来源地址https://www.toymoban.com/news/detail-568302.html

到了这里,关于Postman传递@requestbody标注的List集合的传参遇到的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 关于postman传递两个参数@RequestBody注解只能有一个!

    1.一个bean一个集合,集合前面必须加注解  postman的传参写法  ========================================================================= 2.一个bean和一个数组,数组前面是不用加注解的也可以接收的上 postman传参    

    2024年02月11日
    浏览(34)
  • PostMan、ApiFox等工具Post请求中@RequestParam和@RequestBody的混合使用如何传参

    方法签名 以ApiFox为例子 @RequestParam的Params的参数正常传参 @RequestBody的参数要以json的格式传输 同时Header中要指明 Content-Type=application/json 这样就OK了。 祝:工作顺利,永不加班,生活开心。

    2024年02月05日
    浏览(46)
  • Postman 接口关联之传递List

    在写用例的时候,接口关联时,发现Postman Tests写完保存List 数据到collection,在第二个接口body处调用的时候一直报错。 报错情况如下: 根据第一个搜索结果拿到数据,存在一个list里,看控制台打印出来,类型正确,数据也对  但是在第二个接口调用,拿这个list数据进行传参

    2024年02月03日
    浏览(42)
  • postman进行post、get参数传递及中文乱码和各类型参数传递和json格式传参和日期型参数传递和响应数据传回

    postman是一种测试工具 用postman直接在其上输入参数名和参数值就行,不用区分post和get请求方法,当然java代码要改变一点,在响应注解的方法里面添加和postman中输入的参数名一样的形参 get请求: 代码:注意在响应注解的方法里面新添加了形参,其就对应着上面图片中的参数

    2024年02月07日
    浏览(57)
  • 接口测试系列(二)Postman如何传递list、map对象等参数

    请求参数一般为简单文本text,包含基本数据类型,如数字和字符串,填写在Params页签下。发送请求时,将自动加在地址栏后方。 基本数据类型,只需要将相应的值填写在对应的value区域即可。内容类型需选择x-www-form-urlencoded。 内容类型需选择form-data,在key区域,需选择File类型

    2024年02月05日
    浏览(46)
  • axios的传参方式

    目录 1、data传参 2、使用 params 传递查询参数: 3、使用路径参数传递数据: 在使用 Axios 发送 HTTP 请求时,有三种常见的传参方式: data 、 params 和路径参数 1、data传参 2、使用  params  传递查询参数: params 参数通常用于GET请求中添加查询参数,而对于POST请求,一般使用

    2024年01月18日
    浏览(62)
  • Vue路由的传参

    Vue传参方式可以划分为params传参(参数隐藏在路径中)和query传参(参数在?后)俩种方式 要注意 to  和 :to 的不同:  to 不带参数 , :to 带参数 (1)使用params 传参 vue页面 router-link :to=\\\"{name:\\\'Test7\\\',params:{tid:1,title:\\\'hello test7\\\'}}\\\"测试7-路由/router-link  要修改路由文件( router目录下

    2024年02月21日
    浏览(37)
  • 微信小程序组件的传参

     # 父子关系      1.父向子传参     // 子组件:通过 properties 声明要从父组件中接收的数据     //    组件的属性列表     properties:{         tabId:String     }     // 父组件:通过自定义属性的形式传递数据。以子组件中定义的 key 为属性名,以要传递的数据为属性值     li

    2024年02月10日
    浏览(43)
  • Django_获取api接口的传参

    目录 当参数为form-data 或者x-www-form-urlencoded类型时,使用request.POST获取到参数 当参数为raw类型时,使用request.body获取到参数,获取的参数需要经过处理才能使用 源码等资料获取方法 获取参数方式  获取参数方式   各位想获取源码的朋友请 点赞 + 评论 + 收藏 ,三连! 三连

    2024年02月15日
    浏览(46)
  • vue父子组件之间的传参的几种方式

    这是最常用的一种方式。通过props选项,在父组件中传递数据给子组件。在子组件中使用props声明该属性,就可以访问到父组件传递过来的数据了。 子组件向父组件传递数据的方式。在子组件中使用emit方法触发一个自定义事件,并通过参数传递数据。在父组件中监听这个事件

    2023年04月24日
    浏览(71)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包