AFN 上传数组遇到的问题

后台给了一个接口,POST请求提交一个数组,数组里面嵌套的是一个个对象。
在请求的时候,发现一直报错,参数错误 Android那边已经调通,那可能是我这边的问题了
通过抓包发现,我post 提交的参数有问题
先看下接口的规则


图片.png
comment%5B%5D%5Bauto_id%5D=37&comment%5B%5D%5Bcontent%5D=Assadasd&comment%5B%5D%5Bauto_id%5D=37&comment%5B%5D%5Bcontent%5D=Assadasd&comment%5B%5D%5Bauto_id%5D=38&comment%5B%5D%5Bcontent%5D=Asdasd&comment%5B%5D%5Bauto_id%5D=38&comment%5B%5D%5Bcontent%5D=Asdasd&id=29
图片.png

这是我提交的参数,可以看到 我comment数组里缺少了索引,找到问题就好解决了。去看AFN的源码 找到AFURLRequestSerialization.m 文件 发现在对数组类型的post参数进行转化时,的确是没有加上索引


图片.png

然后我就自己改了一下,


图片.png

添加了索引
 [mutableQueryStringComponents addObjectsFromArray:AFQueryStringPairsFromKeyAndValue([NSString stringWithFormat:@"%@[%lu]", key,(unsigned long)[array indexOfObject:nestedValue]], nestedValue)];

修改后,请求成功了。


成功后数据格式.png

可以说是自己对AFN的理解还不够啊,同时幸好有抓包,能帮我快速定位问题所在

你可能感兴趣的:(AFN 上传数组遇到的问题)