Ios 关于AF2
如何动态地将块AFHTTPRequestOperationManager更改为POST、GET、DELETE 原始示例已修复http方法has POST:Ios 关于AF2,ios,iphone,xcode,afnetworking-2,Ios,Iphone,Xcode,Afnetworking 2,如何动态地将块AFHTTPRequestOperationManager更改为POST、GET、DELETE 原始示例已修复http方法has POST: AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; NSDictionary *parameters = @{@"foo": @"bar"}; [manager POST:@"http://example.com/r
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
NSDictionary *parameters = @{@"foo": @"bar"};
[manager POST:@"http://example.com/resources.json" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"JSON: %@", responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
我想知道的是,有没有办法动态插入http方法?虚拟示例:
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
NSDictionary *parameters = @{@"foo": @"bar"};
--> [manager @"POST or GET or DELETE":@"http://example.com/resources.json" parameters:parameters <---success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"JSON: %@", responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
AFHTTPRequestOperationManager*manager=[AFHTTPRequestOperationManager];
NSDictionary*参数=@{@“foo”:@“bar”};
-->[manager@“发布、获取或删除”:http://example.com/resources.json“参数:参数是这是可能的。您需要自己设置NSURLRequest
(或NSMutableURLRequest
):
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
// set up custom reqeust serializer here, if needed
NSMutableURLRequest *request = [manager.requestSerializer requestWithMethod:@"GET" URLString:[NSURL URLWithString:@"http://example.com/resources.json"] parameters:parameters error:nil];
[manager HTTPRequestOperationWithRequest:request success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"JSON: %@", responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
我还没有按原样运行这段代码,但您可以看到它的基本思想。如果您使用的是自定义请求序列化程序,您可能希望按照上面的注释中所示进行设置
只需将获取替换为发布或删除即可.通常,如果您使用initWithBaseURL
创建AFHTTPRequestOperationManager
,此解决方案将忽略baseURL
设置。@keeshux:为什么使用HTTPRequestOperationWithRequest
方法忽略baseURL
?因为在HttpRequestWithRequest
中传递显式预构建的NSURLRequest
,而不是像在POST
、GET
等中那样的相对路径。