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

RestKit add custom header for all requests?

我正在为我的 iOS 应用程序使用 RestKit
我想为 所有 请求添加自定义 header。

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

可以使用自定义 A​​FHTTPClient。创建 A​​FHTTPClient 的子类并重写 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];

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

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

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

您不需要子类化 AFHTTPClient。