美文网首页
iOS 遇坑记录

iOS 遇坑记录

作者: 顾泠轩 | 来源:发表于2016-12-28 22:06 被阅读290次

    今天跟小琪吐槽,加请求头好坑的问题。小琪说,觉得坑是因为不懂,懂了就不会觉得坑了。我觉得小琪总结得挺好的。但是毕竟菜,所以总是被一些甚至比较粗浅的问题难住。好在,现在多跳一个坑,以后就少跳一个坑。

    所以,尽量先把遇到的坑记录一下,以后也便于查看。

    1. 关于最新版AFNetworking(貌似是3.1.0版)添加请求头。

    今天碰到的是post请求,接口那边需要raw格式。其实我也没搞明白raw是什么鬼,但是最后的结论是要添加application/json的请求头。

    具体操作:

    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];

    [manager setResponseSerializer:[AFJSONResponseSerializer serializer]];

    [manager setRequestSerializer:[AFJSONRequestSerializer serializer]];

    [manager.requestSerializer setValue:@"application/json;charset=utf-8" forHTTPHeaderField:@"Content-Type"];

    后面就是正常的manager的post请求就可以了。

    [manager POST:@"地址连接" parameters:@"参数" progress:^(NSProgress * _Nonnull uploadProgress) {

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

    NSLog(@"请求成功!");

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

    NSLog(@"请求失败!");

    }];

    这里遇到一个坑

    manager.requestSerialize = [AFJSONRequestSerializer serializer];

    用点语法赋值的时候崩溃在AFN的类里了。

    不知道是不是当时还有哪里写错了,有空会再测一下。

    2.字典转json (有些请求的参数要求是json类型)

    dic:为参数字典

    NSData *data1 = [NSJSONSerialization dataWithJSONObject:dic options:NSJSONWritingPrettyPrinted error:nil];

    NSString * json = [[NSString alloc]initWithData:data1 encoding:NSUTF8StringEncoding];

    相关文章

      网友评论

          本文标题:iOS 遇坑记录

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