84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
后台 Api 中单个参数的时候没有指定参数名,而 Alamofire 中的 parameters 是字典类型的。我尝试着 param = ["": "参数"] 发现是不行的。在 AFN 中因为参数是 id 类型的,所以可以直接将一个字符串扔进去。求解 Alamofire 中怎么做 T T (后台有很多这样的 Api,安卓那边都可以,所以没必要改 Api 了。。。。)
param = ["": "参数"]
认证高级PHP讲师
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无关
从上边的逻辑分析 服务器处理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 是参数可以很灵活,不要求非得是字典。
我最后的处理是直接在URL后面拼接这个参数值 直接”path+?参数“ 然后转成UTF8 。一般来说直接传参数的都是get类型的。
请问楼主解决了没有,我遇到了和你一样的问题。很困扰。如果您已经解决了问题。请联系我一下。QQ:664071973
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无关
从上边的逻辑分析 服务器处理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 只能是个字典,这个是有点不灵活了。不过你可以尝试用下面这个函数:
自己构建一个 NSMutableURLRequest,设置它的 header, body, 然后传给上面那个 request 函数。自己构建 NSMutableURLRequest 是参数可以很灵活,不要求非得是字典。
我最后的处理是直接在URL后面拼接这个参数值 直接”path+?参数“ 然后转成UTF8 。一般来说直接传参数的都是get类型的。
请问楼主解决了没有,我遇到了和你一样的问题。很困扰。如果您已经解决了问题。请联系我一下。QQ:664071973