美文网首页
AFN坑及常用设置

AFN坑及常用设置

作者: 金歌漫舞 | 来源:发表于2017-08-01 16:42 被阅读143次

    1.AFN默认参数拼接在url后的请求有

    self.HTTPMethodsEncodingParametersInURI = [NSSet setWithObjects:@"GET", @"HEAD", @"DELETE", nil];
    

    2.如果不想让AFN默认的请求参数拼接在url后面可以设置 self.HTTPMethodsEncodingParametersInURI 的值

    if ([self.HTTPMethodsEncodingParametersInURI containsObject:[[request HTTPMethod] uppercaseString]]) {
            if (query && query.length > 0) {
                mutableRequest.URL = [NSURL URLWithString:[[mutableRequest.URL absoluteString] stringByAppendingFormat:mutableRequest.URL.query ? @"&%@" : @"?%@", query]];
            }
        } else {
            // #2864: an empty string is a valid x-www-form-urlencoded payload
            if (!query) {
                query = @"";
            }
            if (![mutableRequest valueForHTTPHeaderField:@"Content-Type"]) {
                [mutableRequest setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
            }
            [mutableRequest setHTTPBody:[query dataUsingEncoding:self.stringEncoding]];
        }
    

    如果 是post的话就会走外面 如果是delete的话就会走if里面所以我想 是不是可以 设置HTTPMethodsEncodingParametersInURI这个属性来操作params使其不拼接
    3.根据后台请求的方式,封装单例时设置Content-Type属性,AFN默认的属性为application/x-www-form-urlencoded,此时给body传值时,对象必须转成NSData,如果不想转成NSData,则修改Content-Type值为application/json即可

    相关文章

      网友评论

          本文标题:AFN坑及常用设置

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