AFNetworking PUT、DELETE、GET、POST封裝方法設定請求頭
阿新 • • 發佈:2018-12-12
1、GET
+ (void)requestGETSuperAPIWithURLStr:(NSString *)urlStr WithAuthorization:(NSString *)authorization paramDic:(NSDictionary *)paramDic finish:(void(^)(id responseObject))finish enError:(void(^)(NSError *error))enError{ AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"text/html",@"application/json",@"text/javascript",@"text/json",@"text/plain",@"charset=UTF-8", nil]; // 設定請求頭 [manager.requestSerializer setValue:authorization forHTTPHeaderField:@"Authorization"]; [manager.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Accept"]; [manager GET:urlStr parameters:paramDic progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) { // 成功回撥 finish(responseObject); // 如果superapikey過期,重新儲存加密獲取新的 // 如果使用者apikey過期,則重新登入 } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { // 失敗回撥 enError(error); }]; }
2、POST
+ (void)requestLoginPOSTWithURLStr:(NSString *)urlStr WithAuthorization:(NSString *)authorization paramDic:(NSDictionary *)paramDic finish:(void(^)(id responseObject))finish enError:(void(^)(NSError *error))enError{ AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"text/html",@"application/json",@"text/javascript",@"text/json",@"text/plain",@"charset=UTF-8", nil]; // 設定請求頭 [manager.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Accept"]; [manager.requestSerializer setValue:authorization forHTTPHeaderField:@"Authorization"]; [manager POST:urlStr parameters:paramDic progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) { NSString *errcode = [NSString stringWithFormat:@"%@",[responseObject objectForKey:@"errcode"]]; if ([errcode isEqualToString:@"0"]) { finish(responseObject); }else { NSString *errmsg = [responseObject objectForKey:@"errmsg"]; } } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { // 失敗回撥 enError(error); }]; }
3、PUT
+ (void)requestPUTWithURLStr:(NSString *)urlStr paramDic:(NSDictionary *)paramDic Api_key:(NSString *)api_key finish:(void(^)(id responseObject))finish enError:(void(^)(NSError *error))enError{ AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"text/html",@"application/json",@"text/javascript",@"text/json",@"text/plain", nil]; // 設定請求頭 [manager.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Accept"]; [manager.requestSerializer setValue:api_key forHTTPHeaderField:@"api_key"]; [manager PUT:urlStr parameters:paramDic success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) { NSString *errcode = [NSString stringWithFormat:@"%@",[responseObject objectForKey:@"errcode"]]; if ([errcode isEqualToString:@"0"]) { finish(responseObject); }else{ NSString *errmsg = [responseObject objectForKey:@"errmsg"]; } } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { enError(error); }]; }
4、DELETE
+ (void)requestPUTWithURLStr:(NSString *)urlStr paramDic:(NSDictionary *)paramDic Api_key:(NSString *)api_key finish:(void(^)(id responseObject))finish enError:(void(^)(NSError *error))enError{
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"text/html",@"application/json",@"text/javascript",@"text/json",@"text/plain", nil];
// 設定請求頭
[manager.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Accept"];
[manager.requestSerializer setValue:api_key forHTTPHeaderField:@"api_key"];
[manager DELETE:urlStr parameters:paramDic success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
NSString *errcode = [NSString stringWithFormat:@"%@",[responseObject objectForKey:@"errcode"]];
if ([errcode isEqualToString:@"0"]) {
finish(responseObject);
}else{
NSString *errmsg = [responseObject objectForKey:@"errmsg"];
}
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
enError(error);
}];
}