OKhttp与php后台网络请求参数传数组

        最近公司后台换成php,从java到php其实没什么改变,只是个人的代码风格和思维方式不同,所以处理方式不同。其中之一是OKhttp网络请求传递数组,之前的java后台传递数组都是以字符串加分隔符(如,)来代替。所以刚开始传递数组还是有点手足无措,也浪费了好多时间。就记录下来以备以后需要。

        1、最近简单的get请求传递数组。

网上找了一些方法如:用拼接 URL 的方式进行传递  例如  http://www.baidu.com?a=1&a=2&a=3...... 这样 传递的是一个 int[] 类型的 数组。但是试了之后失败,经过好长时间的查资料和尝试,最后发现需要 http://www.baidu.com?a[]=1&a[]=2&a[]=3这样,在参数后面加上数组标志[]。但是还是请求失败。又一番的查找和尝试发现需要将[]转码,不能直接拼接。[]转码为%B%D,在请求参数的时候就可以这样  https://ww.baidu.com/coupons?lesson_ids%5B%5D=482&lesson_ids%5B%5D=494     %5B%5D就是[]的意思。只是需要转码,至此大功告成。

        2、Delete请求(不能接收到"multipart/form-data"传递的参数,post请求可以)

网上查资料发现需要MediaType type= MediaType.parse("multipart/form-data");但是试了之后发现不能设置MediaType,而且参数map不能有相同key,所以查资料之后发现 IdentityHashMap 可以put相同key的值。所以代码如下:


OKhttp与php后台网络请求参数传数组_第1张图片

        3、Post请求(也可以和delete一样传值,未验证)


OKhttp与php后台网络请求参数传数组_第2张图片

希望有所帮助,以后再深入学习。

也可以参考此篇文章:https://blog.csdn.net/u014510302/article/details/79824196

你可能感兴趣的:(OKhttp与php后台网络请求参数传数组)