关闭

AFNetworking 3.0封装post请求body里面内容是空的

标签: AFNetworking 3.0封装postbody内容为空NSURLSessionDataTask
3097人阅读 评论(1) 收藏 举报
分类:

迁移到AFNetworking 3.0,网上资料较少。发现封装post,body里面内容是空的,服务端收到的params为空。

自己研究了一个正确的写法。供大家参考。

NSDictionary *param = [NSDictionarydictionaryWithObjectsAndKeys:@{@"agent":@"X-IOS",@"version":[[UIDevicecurrentDevice] systemVersion],

_smanager = [AFHTTPSessionManagermanager];

        _smanager.securityPolicy = securityPolicy;

        _smanager.responseSerializer = [AFHTTPResponseSerializerserializer];

        _smanager.operationQueue.maxConcurrentOperationCount = 10;

_smanager.requestSerializer = [AFJSONRequestSerializerserializer];

    [_smanager.requestSerializersetValue:@"agent"forHTTPHeaderField:@"X-IOS"];

    [_smanager.requestSerializersetValue:@"local"forHTTPHeaderField:country];

    [_smanager.requestSerializersetValue:@"version"forHTTPHeaderField:[[UIDevicecurrentDevice]systemVersion]];

    [_smanager.requestSerializersetValue:@"device"forHTTPHeaderField:[[UIDevicecurrentDevice]model]];

    [_smanagerPOST:url

         parameters:param

            success:^(NSURLSessionDataTask *_Nonnull task, id _Nonnull responseObject) {

                NSString *str = [responseObjectJSONString];

                NSDictionary *info = [responseObjectJSONObject];

            }

            failure:^(NSURLSessionDataTask *_Nullable task, NSError *_Nonnull error) {


            }];


这个写法,服务端收到的参数是正常的。

希望大家多多分享。


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:88067次
    • 积分:1582
    • 等级:
    • 排名:千里之外
    • 原创:52篇
    • 转载:135篇
    • 译文:4篇
    • 评论:3条