设置 AFNetworking 3.x 单例请求和响应序列化
setup AFNetworking 3.x singleton Request and Response serialization
您好,我正在使用 AFNetworking 3.x。我已经为网络 api
构建了一个单例
+ (ApiClient *)sharedInstance {
static ApiClient *sharedInstance = nil;
static dispatch_once_t oncePredicate;
dispatch_once(&oncePredicate, ^{
NSURLSessionConfiguration *sessionConfiguration = [NSURLSessionConfiguration defaultSessionConfiguration];
sharedInstance = [[self alloc] initWithBaseURL:[NSURL URLWithString:SINGPOST_BASE_URL] sessionConfiguration:sessionConfiguration];
return sharedInstance;
}
- (id)initWithBaseURL:(NSURL *)url
{
if ((self = [super initWithBaseURL:url])) {
AFJSONRequestSerializer *serializer = [AFJSONRequestSerializer serializer];
[serializer setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[serializer setValue:@"application/json" forHTTPHeaderField:@"Accept"];
}
return self;
}
我想在使用单例时设置请求和响应序列化。我们该怎么做
我写这些代码总是出错。非常感谢任何帮助。谢谢
[[[ApiClient sharedInstance]requestSerializer = [AFHTTPRequestSerializer] requestWithMethod:POST_METHOD URLString:urlString parameters:xml error:nil]];
我的回复序列化
ApiClient sharedInstance].responseSerializer.acceptableContentTypes = [[ApiClient sharedInstance].responseSerializer.acceptableContentTypes setByAddingObject:@"text/html"];
您需要将呼叫 [AFHTTPRequestSerializer requestWithMethod..]
更改为
[[AFHTTPRequestSerializer serializer] requestWithMethod:POST_METHOD URLString:urlString parameters:xml error:nil];
AFHTTPRequestSerializer
没有 class 方法 requestWithMethod
它需要先创建一个实例,然后调用 requestWithMethod
您的代码将如下所示:
[[ApiClient sharedInstance] requestSerializer] = [[AFHTTPRequestSerializer serializer] requestWithMethod:POST_METHOD URLString:urlString parameters:xml error:nil];
您好,我正在使用 AFNetworking 3.x。我已经为网络 api
构建了一个单例+ (ApiClient *)sharedInstance {
static ApiClient *sharedInstance = nil;
static dispatch_once_t oncePredicate;
dispatch_once(&oncePredicate, ^{
NSURLSessionConfiguration *sessionConfiguration = [NSURLSessionConfiguration defaultSessionConfiguration];
sharedInstance = [[self alloc] initWithBaseURL:[NSURL URLWithString:SINGPOST_BASE_URL] sessionConfiguration:sessionConfiguration];
return sharedInstance;
}
- (id)initWithBaseURL:(NSURL *)url
{
if ((self = [super initWithBaseURL:url])) {
AFJSONRequestSerializer *serializer = [AFJSONRequestSerializer serializer];
[serializer setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[serializer setValue:@"application/json" forHTTPHeaderField:@"Accept"];
}
return self;
}
我想在使用单例时设置请求和响应序列化。我们该怎么做
我写这些代码总是出错。非常感谢任何帮助。谢谢
[[[ApiClient sharedInstance]requestSerializer = [AFHTTPRequestSerializer] requestWithMethod:POST_METHOD URLString:urlString parameters:xml error:nil]];
我的回复序列化
ApiClient sharedInstance].responseSerializer.acceptableContentTypes = [[ApiClient sharedInstance].responseSerializer.acceptableContentTypes setByAddingObject:@"text/html"];
您需要将呼叫 [AFHTTPRequestSerializer requestWithMethod..]
更改为
[[AFHTTPRequestSerializer serializer] requestWithMethod:POST_METHOD URLString:urlString parameters:xml error:nil];
AFHTTPRequestSerializer
没有 class 方法 requestWithMethod
它需要先创建一个实例,然后调用 requestWithMethod
您的代码将如下所示:
[[ApiClient sharedInstance] requestSerializer] = [[AFHTTPRequestSerializer serializer] requestWithMethod:POST_METHOD URLString:urlString parameters:xml error:nil];