RestKit为所有请求添加自定义标头?

时间:2016-04-07 12:34:03

标签: ios request restkit

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

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

2 个答案:

答案 0 :(得分:5)

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

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

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

您不需要继承AFHTTPClient。

答案 1 :(得分:1)

可以使用自定义 AFHTTPClient 。创建 AFHTTPClient 的子类并重写 requestWithMethod:path:parameters:方法,如下所示:

- (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];