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

来源:互联网 发布:linux 重启 编辑:程序博客网 时间:2024/06/06 03:01

迁移到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