post请求发送数组数据

说明:

接口测试,需要发送数组数据。但是接口实现语言和框架是不清楚。本以为只是简单的数组数据,结果还是浪费了一个多小时的时间,才把数组格式确定。如下图:

iOS post body 数组 post 传数组_http

测试

说明:

后面为深入了解,进行的测试。这里使用java语言的springboot2.x框架以及postman进行测试

后台代码

@RestController
@RequestMapping("/wms/base")
public class BaseController {
    @RequestMapping("/directErpToWmsApi")
    public void directErpToWmsApi(@RequestParam("params") String[] params){
        for(String param: params){
            System.out.println("获取参数数据==========》"+param);
        }
    }
}

请求参数

一、使用params参数

注意:

GET请求是将参数拼接在URL后面,例子:
http://localhost:8080/wms/base/directErpToWmsApi?params=1&params=2 POST请求使用params这种也是拼接在url后面。下面图片就是post请求。一般这种简单的可直接使用get请求。

  1. prams:1
    params: 2
    Springboot后台是可以直接获取到

    测试结果:

    2.param:1,2

    这种也可以

二、请求参数放在body里

先简单介绍下,请求头里的常见属性:
Content-Type: 发送端发送的实体数据的数据类型。
常见的媒体格式类型如下:

text/html : HTML格式
text/plain :纯文本格式     
text/xml :  XML格式
image/gif :gif图片格式   
image/jpeg :jpg图片格式
image/png:png图片格式

以application开头的媒体格式类型:

application/xhtml+xml :XHTML格式
   application/xml     : XML数据格式
   application/atom+xml  :Atom XML聚合格式   
   application/json    : JSON数据格式
   application/pdf       :pdf格式 
   application/msword  : Word文档格式
   application/octet-stream : 二进制流数据(如常见的文件下载)
   application/x-www-form-urlencoded : <form encType=””>中默认的encType,form表单数据被编码为key/value格式发送到服务器(表单默认的提交数据的格式)

另外一种常见的媒体格式是上传文件之时使用的:

multipart/form-data : 需要在表单中进行文件上传时,就需要使用该格式
 以上就是我们在日常的开发中,经常会用到的若干content-type的内容格式。

具体可参考:

一、 使用form-data

  1. 其一:

    结果:

    2.其二

    查看header

    二、使用x-www-form-urlencoded格式
    跟form-data格式没什么区别
    重点:headers:

三、使用json格式

使用json格式的比较复杂,后台使用@RequestBody注解,使用Map接收。代码如下:

@RequestMapping("/directErpToWmsApi")
    public void directErpToWmsApi(@RequestBody HashMap<String,Object> params){
        System.out.println("获取参数数据==========》"+params.get("params").toString());
    }

json请求格式:

iOS post body 数组 post 传数组_http_02

结果:

iOS post body 数组 post 传数组_http_03

总结

这次就先整理到这边,有什么不对的地方麻烦指正。
后面会补充更多。