如何将AFHTTPClient,Afnetworking 1.0迁移到2.0

我的问题是,我有一个旧的代码,我不知道如何改变它。 我有1类称为API(AFHTTPClient)我有2个方法的问题,因为我不知道如何把他们在2.0中:这:

-(void)commandWithParams:(NSMutableDictionary*)params onCompletion:(JSONResponseBlock)completionBlock { NSMutableURLRequest *apiRequest = [self multipartFormRequestWithMethod:@"POST" path:kAPIPath parameters:params constructingBodyWithBlock: ^(id formData) { //TODO: attach file if needed }]; AFJSONRequestOperation* operation = [[AFJSONRequestOperation alloc] initWithRequest: apiRequest]; [operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) { //success! completionBlock(responseObject); } failure:^(AFHTTPRequestOperation *operation, NSError *error) { //failure :( completionBlock([NSDictionary dictionaryWithObject:[error localizedDescription] forKey:@"error"]); }]; [operation start]; } and this: #pragma mark - init //intialize the API class with the destination host name -(API*)init { //call super init self = [super init]; if (self != nil) { //initialize the object user = nil; [self registerHTTPOperationClass:[AFJSONRequestOperation class]]; // Accept HTTP Header; see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.1 [self setDefaultHeader:@"Accept" value:@"application/json"]; } return self; } 

我做了一个叫Api的新类,现在(AFHTTPRequestOperationManager)是好的吗? 我尝试这个,但我没有想法

 -(API*)init {//call super init self = [super init]; //initialize the object if (self != nil) { //initialize the object user = nil; AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; manager.requestSerializer = [AFJSONRequestSerializer serializer]; AFJSONRequestSerializer *a=[AFJSONRequestSerializer serializer]; [a setValue:@"Accept" forHTTPHeaderField:@"application/json"]; [a setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; [a setValue:@"content-Type" forHTTPHeaderField:@"text/html"]; [a setValue : @ "text / html; charset = UTF-8" forHTTPHeaderField : @ "Content-Type" ]; } return self; } -(void)commandWithParams:(NSMutableDictionary*)params onCompletion:(JSONResponseBlock)completionBlock { AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; NSDictionary *parameters = params; NSURL *filePath = [NSURL URLWithString:@"http://162.243.199.147/mujeresquecorren/iReporter/index.php"]; [manager POST:@"api" parameters:parameters constructingBodyWithBlock:^(id<AFMultipartFormData> formData) { [formData appendPartWithFileURL:filePath name:@"api" error:nil]; } success:^(AFHTTPRequestOperation *operation, id responseObject) { NSLog(@"Success: %@", responseObject); } failure:^(AFHTTPRequestOperation *operation, NSError *error) { NSLog(@"Error: %@", error); }]; NSMutableURLRequest *apiRequest = [NSMutableURLRequest requestWithURL:filePath]; AFJSONRequestSerializer *requestSerializer = [AFJSONRequestSerializer serializer]; [requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; [requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Accept"]; // operationManagerInstance.requestSerializer = requestSerializer; AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:apiRequest]; operation.responseSerializer = [AFJSONResponseSerializer serializer]; manager.responseSerializer = [AFJSONResponseSerializer serializer]; [manager POST:@"http://162.243.199.147/mujeresquecorren/iReporter/index.php" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) { NSLog(@"%@", responseObject); } failure:nil]; // AFJSONRequestOperation* operation = [[AFJSONRequestOperation alloc] initWithRequest: apiRequest]; [operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) { //success! completionBlock(responseObject); } failure:^(AFHTTPRequestOperation *operation, NSError *error) { //failure :( completionBlock([NSDictionary dictionaryWithObject:[error localizedDescription] forKey:@"error"]); }]; [operation start]; } 

这是错误之一:

rror:Error Domain = NSURLErrorDomain Code = -1002“unsupported URL”UserInfo = 0xa64f980 {NSErrorFailingURLStringKey = api,NSErrorFailingURLKey = api,NSLocalizedDescription =不支持的URL,NSUnderlyingError = 0xa782e10“不受支持的URL”}

请帮助,即时通讯将疯狂,我需要我的代码在我的应用程序工程! 非常感谢!!!!

这是错误信息中的所有内容。 “api”不是一个有效的URL。 您需要指定一个绝对URL,或者使用initWithBaseURL:initWithBaseURL:一个使用baseURL请求操作pipe理器。