美文网首页
post请求body

post请求body

作者: 温柔vs先生 | 来源:发表于2020-03-06 09:39 被阅读0次
    + (void)startRequestWithUrl:(NSString *)url
                         method:(NSString *) method
                         params:(NSDictionary *)params
                   successBlock:(void (^)(BOOL success,NSDictionary *data,NSString* msg))successBlock
                      failureBlock:(void (^)(NSString* description))failureBlock {
        NSString *URLStr = [NSString stringWithFormat:@"%@%@",URL_main,url];
        
        NSDictionary *mutableParams = [NSDictionary nullDic:params?:@{}];
        NSError *error;
        NSData *jsonData = [NSJSONSerialization dataWithJSONObject:mutableParams options:0 error:&error];
        NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
        
        AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
        //method 为时post请求还是get请求
        NSMutableURLRequest *request = [[AFJSONRequestSerializer serializer] requestWithMethod:method URLString:URLStr parameters:nil error:nil];
        //设置超时时长
        request.timeoutInterval = 30;
        [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
        
        //将对象设置到requestbody中 ,主要是这不操作
        [request setHTTPBody:[jsonString dataUsingEncoding:NSUTF8StringEncoding]];
        //进行网络请求
        [[manager dataTaskWithRequest:request uploadProgress:^(NSProgress * _Nonnull uploadProgress) {
            
        } downloadProgress:^(NSProgress * _Nonnull downloadProgress) {
            
        } completionHandler:^(NSURLResponse * _Nonnull response, id _Nullable responseObject, NSError * _Nullable error) {
            if (!error) {
                
                NSData *data = [NSJSONSerialization dataWithJSONObject:responseObject options:NSJSONWritingPrettyPrinted error:nil];
                
                NSString *jsonString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
                NSLog(@" === %@",jsonString);
                
                NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
                
                if (successBlock) successBlock(YES, dic[@"info"], dic[@"responseMsg"]);
    
            } else {
                
                if (failureBlock) failureBlock(error.localizedDescription);
                
            }
        }] resume];
        
    }
    

    相关文章

      网友评论

          本文标题:post请求body

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