How do I set the data for a “PUT” request with AFNetworking?

后端 未结 3 1713
悲&欢浪女
悲&欢浪女 2020-12-16 08:33

I have started to use AFNetworking and it works well when it gets to making simple \"GET\"-request. However now I am trying to do a \"POST\"-request. I use the code below to

3条回答
  •  鱼传尺愫
    2020-12-16 09:13

    With AFNetworking 2.0, I just copy code from

    - (AFHTTPRequestOperation *)PUT:(NSString *)URLString
                     parameters:(id)parameters
                        success:(void (^)(AFHTTPRequestOperation *operation, id responseObject))success
                        failure:(void (^)(AFHTTPRequestOperation *operation, NSError *error))failure;
    

    and add a

    [request setHTTPBody:data];
    

    Here is it:

    NSString* str = [bookDetailLink objectForKey:@"Body"];
    NSData* data = [str dataUsingEncoding: NSUTF8StringEncoding];
        NSMutableURLRequest *request = [self.manager.requestSerializer requestWithMethod:@"PUT" URLString:bookingDetailUrl parameters:nil error:nil];
    
    [request setHTTPBody:data];
    AFHTTPRequestOperation *operation = [self.manager HTTPRequestOperationWithRequest:request
                                                                      success:^(AFHTTPRequestOperation *op, NSHTTPURLResponse *response) {
                                                                          NSLog(@"%@", response);
                                                                      }
                                                                      failure:^(AFHTTPRequestOperation *op, NSError *error) {
                                                                          NSLog(@"%@", error);
                                                                      }];
    
    [self.manager.operationQueue addOperation:operation];
    

    I am integrating Skyscanner API to our iOS app using AFNetworking.

提交回复
热议问题