美文网首页
iOS数据请求的封装,包含Header和Body

iOS数据请求的封装,包含Header和Body

作者: I丶am_Sure | 来源:发表于2018-05-24 13:02 被阅读0次

前段时间项目中,在数据请求的时候,有用到请求头,上传vo实体作为body,特此封装了一个post相关的数据请求(get同理),Mark一下。

  //POST,设置body包含code
- (void)postRequestWithBodyUrl:(NSString *)url
                        params:(id)params
                       success:(SuccessBlock)success
                   failureCode:(FailureBlockCode)failure
{
    NSLog(@"请求路径: %@ \n\t请求参数: %@", url, params?:@"nil");
    
    NSString *requestURL=[HostName stringByAppendingString:url];
    
    NSMutableURLRequest *request = [[AFHTTPRequestSerializer serializer] requestWithMethod:@"POST" URLString:requestURL parameters:nil error:nil];
    
    request.timeoutInterval= 10;
    [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
    [request setValue:KToken forHTTPHeaderField:@"token"];
    [request setValue:Kplatform forHTTPHeaderField:@"platform"];
    [request setValue:kappVersion forHTTPHeaderField:@"appVersion"];
    
    NSData *body  =[params dataUsingEncoding:NSUTF8StringEncoding];
    [request setHTTPBody:body];
    
    
    
    if ([CommonUtils checkNet]) {
        
        [[self.sessionManager dataTaskWithRequest:request completionHandler:^(NSURLResponse * _Nonnull response, id  _Nullable responseObject, NSError * _Nullable error) {
            NSHTTPURLResponse* httpResponse = (NSHTTPURLResponse*)response;
            NSInteger responseStatusCode = [httpResponse statusCode];
            
            NSInteger code = [[responseObject objectForKey:@"code"] integerValue];
            
            if (0 == code) {
                success(responseObject,code);
            }else {
                failure(nil, responseObject[@"msg"],code);
            }
            
            NSLog(@"请求路径:%@\n\t返回结果: %@", response.URL, responseObject);
            
            
        }]resume];
        
    }
    else{
        
        NSError *error;
       
        failure(error , @"服务器连接失败",10001);
    }
}

相关文章

网友评论

      本文标题:iOS数据请求的封装,包含Header和Body

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