美文网首页
iOS AFN 400\415 和传参的坑

iOS AFN 400\415 和传参的坑

作者: illaclv | 来源:发表于2018-05-03 01:51 被阅读525次

    今天在做一个接口的时候遇到一个坑

    我用封装好的afn 调用

    
        //1.构造操作对象管理者
        AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
        //2.设置解析格式,默认json
        manager.responseSerializer = [AFJSONResponseSerializer serializerWithReadingOptions:NSJSONReadingMutableContainers];
    
    [manager POST:requestURL
                   parameters:parmas
                     progress:^(NSProgress * _Nonnull uploadProgress) {
                         
                     } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
                         if (success != nil)
                         {
                             success(responseObject);
                         }
                     } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
                         if (fail != nil) {
                             fail(error);
                             //服务器出错
                             [GetData showAlertViewWithMessage];
                             [SVProgressHUD dismiss];
    
                             NSLog (@"%@",error);
                         }
                     }];
                
    
    

    报400

    然后和后台沟通了下,他说要传的参数是json字符串。
    然后我把入参的字典改成了json的string (nsstring)
    但是直接把string 丢到参数里面会报415的错误

    然后我就封装成一个字典,大概是这样的:


    image.png

    然后发现 ,后台解析不到数据

    解决办法:
    1.声明请求的参数格式是json【AFN 默认的格式是二进制】

     AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
        manager.requestSerializer =  [AFJSONRequestSerializer serializer];
    

    2.POST 数据格式:
    字典
    不需要转换成json字符串

    参考
    AFN Post请求,报错400(code:-1011)
    AFNetworking之AFJSONRequestSerializer使用
    AFNetwork 作用和用法详解

    相关文章

      网友评论

          本文标题:iOS AFN 400\415 和传参的坑

          本文链接:https://www.haomeiwen.com/subject/wlbhrftx.html