ios - Alamofire中请求参数无名称的问题
PHP中文网
PHP中文网 2017-04-18 09:28:35
0
5
1189

后台 Api 中单个参数的时候没有指定参数名,而 Alamofire 中的 parameters 是字典类型的。我尝试着 param = ["": "参数"] 发现是不行的。
在 AFN 中因为参数是 id 类型的,所以可以直接将一个字符串扔进去。求解 Alamofire 中怎么做 T T (后台有很多这样的 Api,安卓那边都可以,所以没必要改 Api 了。。。。)

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(5)
巴扎黑

scheme://host/path?key=value&key=value
在get方式中 你传入的parameters到后边都是处理成上边的key=value这样的形式
服务器拿到这样的url 然后根据key去取相应的value

其实AFN在处理NSString的param时url为scheme://host/path?null=value
服务器当且仅当在单个参数可以这样处理吧 反正拿到的value就是需要的和key无关

  1. 从上边的逻辑分析 服务器处理url有2种情况 一种只要只有一个value就直接取它的值 那么你随便给个key试试看好了 另一种只在key为null而value不为null下才触发那么 用param = @{[NSNull null]: param} 试试看 还不行就去看看代码 alamofire是怎么把parameters处理成query的 查看下完整的url 确定是否是alamofire过滤了
    (ps 没写过服务器代码和alamofire 很多是猜测 仅供参考)

黄舟

不指定参数名称,可能就是把这个当作参数,比如那种将整个请求的上送参数当作一个进行处理xml,json来处理的。
alamofire没用过,你可以找下有没有上送一个json串的那种方式,也是同样没有定义参数名称的。

阿神

Alamofire 的 request 方法里, parameters 只能是个字典,这个是有点不灵活了。不过你可以尝试用下面这个函数:

request(URLRequest: URLRequestConvertible) -> Request 

自己构建一个 NSMutableURLRequest,设置它的 header, body, 然后传给上面那个 request 函数。自己构建 NSMutableURLRequest 是参数可以很灵活,不要求非得是字典。

PHPzhong

我最后的处理是直接在URL后面拼接这个参数值 直接”path+?参数“ 然后转成UTF8 。一般来说直接传参数的都是get类型的。

洪涛

请问楼主解决了没有,我遇到了和你一样的问题。很困扰。如果您已经解决了问题。请联系我一下。QQ:664071973

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板