前段時(shí)間項(xiàng)目中飞醉,在數(shù)據(jù)請(qǐng)求的時(shí)候,有用到請(qǐng)求頭冒晰,上傳vo實(shí)體作為body廷没,特此封裝了一個(gè)post相關(guān)的數(shù)據(jù)請(qǐng)求(get同理)朝氓,Mark一下宪彩。
//POST,設(shè)置body包含code
- (void)postRequestWithBodyUrl:(NSString *)url
params:(id)params
success:(SuccessBlock)success
failureCode:(FailureBlockCode)failure
{
NSLog(@"請(qǐng)求路徑: %@ \n\t請(qǐng)求參數(shù): %@", 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(@"請(qǐng)求路徑:%@\n\t返回結(jié)果: %@", response.URL, responseObject);
}]resume];
}
else{
NSError *error;
failure(error , @"服務(wù)器連接失敗",10001);
}
}