2016-04-07 101 views
2

我为我的iOS应用使用RestKit
我想添加一个自定义标头所有请求。RestKit为所有请求添加自定义标头?

是否可以在一个地方添加一个标题,并让我的所有RestKit请求都使用它?如果是这样,我在哪里添加代码?
如果不是,我必须为每一个请求添加一个标题吗?

回答

5

您可以设置标题中的客户端上在初始化RKObjectManager之后,RKObjectManager创建:

RKObjectManager *manager = [RKObjectManager managerWithBaseURL:@"https://mycompany.example.com/rest/"]; 

[[manager HTTPClient] setDefaultHeader:@"X-AUTH-TOKEN" value:@"abc123"]; 

您不需要继承AFHTTPClient。

1

它可以通过使用自定义AFHTTPClient。创建AFHTTPClient的子类和重写requestWithMethod:路径:参数:方法是这样的:

- (NSMutableURLRequest *)requestWithMethod:(NSString *)method 
             path:(NSString *)path 
           parameters:(NSDictionary *)parameters 
{ 
    [self setDefaultHeader:@"X-USER-TOKEN" value:userToken]; 
    return [super requestWithMethod:method 
           path:path 
         parameters:parameters]; 
} 

然后用它初始化对象管理器:

RKObjectManager *manager = [[RKObjectManager alloc] 
    initWithHTTPClient:customHttpClient]; 
相关问题